зеркало из https://github.com/mozilla/gecko-dev.git
Make sure to reframe when the "rules" attribute changes, since tables cache all
sorts of border-collapse stuff across reflows. Bug 226593, r=bernd, sr=dbaron, a=brendan
This commit is contained in:
Родитель
991b944827
Коммит
567e341b75
|
@ -1487,9 +1487,6 @@ nsHTMLTableElement::HasAttributeDependentStyle(const nsIAtom* aAttribute) const
|
|||
|
||||
{ &nsHTMLAtoms::bordercolor },
|
||||
|
||||
// Changing to rules will force border-collapse. Unfortunately, if
|
||||
// border-collapse was already in effect, then a frame change is
|
||||
// not necessary.
|
||||
{ &nsHTMLAtoms::align },
|
||||
{ &nsHTMLAtoms::rules },
|
||||
{ nsnull }
|
||||
|
|
|
@ -875,9 +875,12 @@ nsStyleTable::nsStyleTable(const nsStyleTable& aSource)
|
|||
|
||||
nsChangeHint nsStyleTable::CalcDifference(const nsStyleTable& aOther) const
|
||||
{
|
||||
// Changes in mRules may require reframing (if border-collapse stuff changes, for example).
|
||||
if (mRules != aOther.mRules)
|
||||
return NS_STYLE_HINT_FRAMECHANGE;
|
||||
|
||||
if ((mLayoutStrategy == aOther.mLayoutStrategy) &&
|
||||
(mFrame == aOther.mFrame) &&
|
||||
(mRules == aOther.mRules) &&
|
||||
(mCols == aOther.mCols) &&
|
||||
(mSpan == aOther.mSpan))
|
||||
return NS_STYLE_HINT_NONE;
|
||||
|
|
|
@ -875,9 +875,12 @@ nsStyleTable::nsStyleTable(const nsStyleTable& aSource)
|
|||
|
||||
nsChangeHint nsStyleTable::CalcDifference(const nsStyleTable& aOther) const
|
||||
{
|
||||
// Changes in mRules may require reframing (if border-collapse stuff changes, for example).
|
||||
if (mRules != aOther.mRules)
|
||||
return NS_STYLE_HINT_FRAMECHANGE;
|
||||
|
||||
if ((mLayoutStrategy == aOther.mLayoutStrategy) &&
|
||||
(mFrame == aOther.mFrame) &&
|
||||
(mRules == aOther.mRules) &&
|
||||
(mCols == aOther.mCols) &&
|
||||
(mSpan == aOther.mSpan))
|
||||
return NS_STYLE_HINT_NONE;
|
||||
|
|
Загрузка…
Ссылка в новой задаче