Bug 702375 - Include the current frame bounds in preserve-3d overflow calculations. r=roc
This commit is contained in:
@@ -6627,12 +6627,11 @@ nsIFrame::FinishAndStoreOverflow(nsOverflowAreas& aOverflowAreas,
|
||||
*/
|
||||
nsRect newBounds(nsPoint(0, 0), aNewSize);
|
||||
// Transform affects both overflow areas.
|
||||
if (!Preserves3DChildren()) {
|
||||
NS_FOR_FRAME_OVERFLOW_TYPES(otype) {
|
||||
nsRect& o = aOverflowAreas.Overflow(otype);
|
||||
o = nsDisplayTransform::TransformRect(o, this, nsPoint(0, 0), &newBounds);
|
||||
}
|
||||
} else {
|
||||
NS_FOR_FRAME_OVERFLOW_TYPES(otype) {
|
||||
nsRect& o = aOverflowAreas.Overflow(otype);
|
||||
o = nsDisplayTransform::TransformRect(o, this, nsPoint(0, 0), &newBounds);
|
||||
}
|
||||
if (Preserves3DChildren()) {
|
||||
ComputePreserve3DChildrenOverflow(aOverflowAreas, newBounds);
|
||||
}
|
||||
}
|
||||
@@ -6785,8 +6784,8 @@ nsIFrame::ComputePreserve3DChildrenOverflow(nsOverflowAreas& aOverflowAreas, con
|
||||
}
|
||||
}
|
||||
|
||||
aOverflowAreas.Overflow(eVisualOverflow) = childVisual;
|
||||
aOverflowAreas.Overflow(eScrollableOverflow) = childScrollable;
|
||||
aOverflowAreas.Overflow(eVisualOverflow) = aOverflowAreas.Overflow(eVisualOverflow).Union(childVisual);
|
||||
aOverflowAreas.Overflow(eScrollableOverflow) = aOverflowAreas.Overflow(eScrollableOverflow).Union(childScrollable);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user