Bug 400171: check line mCombinedArea (along with mBounds) to find float damage. r+sr=roc, a=blocking1.9+

This commit is contained in:
dholbert@cs.stanford.edu 2007-11-07 12:07:54 -08:00
Родитель 9f681499ba
Коммит 9ccb72c40c
2 изменённых файлов: 9 добавлений и 4 удалений

Просмотреть файл

@ -1618,9 +1618,14 @@ nsBlockFrame::PropagateFloatDamage(nsBlockReflowState& aState,
// Check the damage region recorded in the float damage.
if (spaceManager->HasFloatDamage()) {
// Need to check mBounds *and* mCombinedArea to find intersections
// with aLine's floats
nscoord lineYA = aLine->mBounds.y + aDeltaY;
nscoord lineYB = lineYA + aLine->mBounds.height;
if (spaceManager->IntersectsDamage(lineYA, lineYB)) {
nscoord lineYCombinedA = aLine->GetCombinedArea().y + aDeltaY;
nscoord lineYCombinedB = lineYCombinedA + aLine->GetCombinedArea().height;
if (spaceManager->IntersectsDamage(lineYA, lineYB) ||
spaceManager->IntersectsDamage(lineYCombinedA, lineYCombinedB)) {
aLine->MarkDirty();
return;
}

Просмотреть файл

@ -428,10 +428,10 @@ fails == 393655-2.html 393655-2-ref.html # Remove 'fails' when 393655 lands
== 398797-1c.html 398797-1-ref.html
== 398797-1d.html 398797-1-ref.html
== 399384-1.html 399384-1-ref.html
fails == 400171-1a.html 400171-1-ref.html # Remove 'fails' when 400171 lands
== 400171-1a.html 400171-1-ref.html
== 400171-1b.html 400171-1-ref.html
== 400171-1c.html 400171-1-ref.html
fails == 400171-2a.html 400171-2-ref.html # Remove 'fails' when 400171 lands
== 400171-2a.html 400171-2-ref.html
== 400171-2b.html 400171-2-ref.html
fails == 400171-2c.html 400171-2-ref.html # Remove 'fails' when 400171 lands
== 400171-2c.html 400171-2-ref.html
== 400421-1.html 400421-1-ref.html