Make changes in table-layout cause a reframe. b=367375 r+sr=bzbarsky a=schrep

This commit is contained in:
dbaron@dbaron.org 2008-02-08 11:56:03 -08:00
parent bcbf67300f
commit 1cfa9dcca9

View File

@ -972,14 +972,12 @@ nsStyleTable::nsStyleTable(const nsStyleTable& aSource)
nsChangeHint nsStyleTable::CalcDifference(const nsStyleTable& aOther) const nsChangeHint nsStyleTable::CalcDifference(const nsStyleTable& aOther) const
{ {
// Changes in mRules may require reframing (if border-collapse stuff changes, for example). // Changes in mRules may require reframing (if border-collapse stuff changes, for example).
if (mRules != aOther.mRules || mSpan != aOther.mSpan) if (mRules != aOther.mRules || mSpan != aOther.mSpan ||
mLayoutStrategy != aOther.mLayoutStrategy)
return NS_STYLE_HINT_FRAMECHANGE; return NS_STYLE_HINT_FRAMECHANGE;
if (mFrame != aOther.mFrame || mCols != aOther.mCols)
if ((mLayoutStrategy == aOther.mLayoutStrategy) && return NS_STYLE_HINT_REFLOW;
(mFrame == aOther.mFrame) && return NS_STYLE_HINT_NONE;
(mCols == aOther.mCols))
return NS_STYLE_HINT_NONE;
return NS_STYLE_HINT_REFLOW;
} }
#ifdef DEBUG #ifdef DEBUG