Bug 257612. Fix dynamic margin changes by 1) Propagate IsPreviousMarginDirty through empty lines 2) Reflow any line whose previous margin is dirty. 3) If a reflowed line could have been tested in a subsequent line's ShouldApplyTopMargin both before and after reflow, and might have been empty before or after reflow, then make the next line's previous margin dirty. 4) If reflowing a block changes its carried-out margin, then mark the next line's previous margin dirty. r+sr=dbaron
This commit is contained in:
@@ -79,6 +79,17 @@ struct nsCollapsingMargin {
|
||||
{
|
||||
}
|
||||
|
||||
PRBool operator==(const nsCollapsingMargin& aOther)
|
||||
{
|
||||
return mMostPos == aOther.mMostPos &&
|
||||
mMostNeg == aOther.mMostNeg;
|
||||
}
|
||||
|
||||
PRBool operator!=(const nsCollapsingMargin& aOther)
|
||||
{
|
||||
return !(*this == aOther);
|
||||
}
|
||||
|
||||
nsCollapsingMargin& operator=(const nsCollapsingMargin& aOther)
|
||||
{
|
||||
mMostPos = aOther.mMostPos;
|
||||
|
||||
Reference in New Issue
Block a user