Bug 794709. Don't bother trying to compute an intelligent dirty rect when building display lists for nsSimplePageSequence and nsPageContentFrame children; it's nontrivial due to the transforms they introduce, and it doesn't matter anyway. r=mattwoodrow

This commit is contained in:
Robert O'Callahan 2012-10-04 23:02:17 +13:00
parent 65fa4e51c8
commit 7c893c88ec
2 changed files with 6 additions and 3 deletions

View File

@ -487,7 +487,8 @@ nsPageFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
nsDisplayList content;
nsIFrame *child = mFrames.FirstChild();
rv = child->BuildDisplayListForStackingContext(aBuilder, aDirtyRect - child->GetOffsetTo(this), &content);
rv = child->BuildDisplayListForStackingContext(aBuilder,
child->GetVisualOverflowRectRelativeToSelf(), &content);
NS_ENSURE_SUCCESS(rv, rv);
// We may need to paint out-of-flow frames whose placeholders are

View File

@ -821,12 +821,14 @@ nsSimplePageSequenceFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
nsDisplayList content;
nsIFrame* child = GetFirstPrincipalChild();
while (child) {
rv = child->BuildDisplayListForStackingContext(aBuilder, aDirtyRect - child->GetOffsetTo(this), &content);
rv = child->BuildDisplayListForStackingContext(aBuilder,
child->GetVisualOverflowRectRelativeToSelf(), &content);
NS_ENSURE_SUCCESS(rv, rv);
child = child->GetNextSibling();
}
rv = content.AppendNewToTop(new (aBuilder) nsDisplayTransform(aBuilder, this, &content, ::ComputePageSequenceTransform));
rv = content.AppendNewToTop(new (aBuilder)
nsDisplayTransform(aBuilder, this, &content, ::ComputePageSequenceTransform));
NS_ENSURE_SUCCESS(rv, rv);
aLists.Content()->AppendToTop(&content);