Bug 526394. Part 36: Store the overflow area explicitly whenever it's not exactly equal to the border-box; if they're both empty but with different dimensions or position, we should still store the explicit overflow area. Also fix test_offsets to compute the expected scrolled area correctly. r=mats
This commit is contained in:
@@ -5589,7 +5589,7 @@ nsIFrame::FinishAndStoreOverflow(nsRect* aOverflowArea, nsSize aNewSize)
|
||||
if (presContext->GetTheme()->
|
||||
GetWidgetOverflow(presContext->DeviceContext(), this,
|
||||
disp->mAppearance, &r)) {
|
||||
aOverflowArea->UnionRect(*aOverflowArea, r);
|
||||
aOverflowArea->UnionRectIncludeEmpty(*aOverflowArea, r);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5633,8 +5633,8 @@ nsIFrame::FinishAndStoreOverflow(nsRect* aOverflowArea, nsSize aNewSize)
|
||||
}
|
||||
|
||||
PRBool overflowChanged;
|
||||
if (*aOverflowArea != nsRect(nsPoint(0, 0), aNewSize)) {
|
||||
overflowChanged = *aOverflowArea != GetOverflowRect();
|
||||
if (!aOverflowArea->IsExactEqual(nsRect(nsPoint(0, 0), aNewSize))) {
|
||||
overflowChanged = !aOverflowArea->IsExactEqual(GetOverflowRect());
|
||||
SetOverflowRect(*aOverflowArea);
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user