summaryrefslogtreecommitdiffstats
path: root/layout/generic/nsSimplePageSequenceFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/generic/nsSimplePageSequenceFrame.cpp')
-rw-r--r--layout/generic/nsSimplePageSequenceFrame.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/layout/generic/nsSimplePageSequenceFrame.cpp b/layout/generic/nsSimplePageSequenceFrame.cpp
index 2e74afc3b..6dcb6ccc1 100644
--- a/layout/generic/nsSimplePageSequenceFrame.cpp
+++ b/layout/generic/nsSimplePageSequenceFrame.cpp
@@ -808,7 +808,6 @@ ComputePageSequenceTransform(nsIFrame* aFrame, float aAppUnitsPerPixel)
void
nsSimplePageSequenceFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
- const nsRect& aDirtyRect,
const nsDisplayListSet& aLists)
{
DisplayBorderBackgroundOutline(aBuilder, aLists);
@@ -822,13 +821,17 @@ nsSimplePageSequenceFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
clipState.Clear();
nsIFrame* child = PrincipalChildList().FirstChild();
- nsRect dirty = aDirtyRect;
- dirty.ScaleInverseRoundOut(PresContext()->GetPrintPreviewScale());
+ nsRect visible = aBuilder->GetVisibleRect();
+ visible.ScaleInverseRoundOut(PresContext()->GetPrintPreviewScale());
while (child) {
- if (child->GetVisualOverflowRectRelativeToParent().Intersects(dirty)) {
- child->BuildDisplayListForStackingContext(aBuilder,
- dirty - child->GetPosition(), &content);
+ if (child->GetVisualOverflowRectRelativeToParent().Intersects(visible)) {
+ nsDisplayListBuilder::AutoBuildingDisplayList
+ buildingForChild(aBuilder, child,
+ visible - child->GetPosition(),
+ visible - child->GetPosition(),
+ aBuilder->IsAtRootOfPseudoStackingContext());
+ child->BuildDisplayListForStackingContext(aBuilder, &content);
aBuilder->ResetMarkedFramesForDisplayList();
}
child = child->GetNextSibling();