mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 6d2fc524e961 (bug 1022612)
This commit is contained in:
parent
2429264279
commit
f47b379c1a
@ -414,22 +414,22 @@ PruneDisplayListForExtraPage(nsDisplayListBuilder* aBuilder,
|
||||
aList->AppendToTop(&newList);
|
||||
}
|
||||
|
||||
static void
|
||||
static nsresult
|
||||
BuildDisplayListForExtraPage(nsDisplayListBuilder* aBuilder,
|
||||
nsPageFrame* aPage, nsIFrame* aExtraPage,
|
||||
const nsRect& aDirtyRect, nsDisplayList* aList)
|
||||
nsDisplayList* aList)
|
||||
{
|
||||
// The only content in aExtraPage we care about is out-of-flow content whose
|
||||
// placeholders have occurred in aPage. If
|
||||
// NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO is not set, then aExtraPage has
|
||||
// no such content.
|
||||
if (!aExtraPage->HasAnyStateBits(NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO)) {
|
||||
return;
|
||||
}
|
||||
nsDisplayList list;
|
||||
aExtraPage->BuildDisplayListForStackingContext(aBuilder, aDirtyRect, &list);
|
||||
// Pass an empty dirty rect since we're only interested in finding
|
||||
// placeholders whose out-of-flows are in the page
|
||||
// aBuilder->GetReferenceFrame(), and the paths to those placeholders
|
||||
// have already been marked as NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO.
|
||||
// Note that we should still do a prune step since we don't want to
|
||||
// rely on dirty-rect checking for correctness.
|
||||
aExtraPage->BuildDisplayListForStackingContext(aBuilder, nsRect(), &list);
|
||||
PruneDisplayListForExtraPage(aBuilder, aPage, aExtraPage, &list);
|
||||
aList->AppendToTop(&list);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
static nsIFrame*
|
||||
@ -506,8 +506,8 @@ nsPageFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
clipState.Clear();
|
||||
clipState.ClipContainingBlockDescendants(clipRect, nullptr);
|
||||
|
||||
nsRect dirtyRect = child->GetVisualOverflowRectRelativeToSelf();
|
||||
child->BuildDisplayListForStackingContext(aBuilder, dirtyRect, &content);
|
||||
child->BuildDisplayListForStackingContext(aBuilder,
|
||||
child->GetVisualOverflowRectRelativeToSelf(), &content);
|
||||
|
||||
// We may need to paint out-of-flow frames whose placeholders are
|
||||
// on other pages. Add those pages to our display list. Note that
|
||||
@ -518,8 +518,7 @@ nsPageFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
// following placeholders to their out-of-flows) end up on the list.
|
||||
nsIFrame* page = child;
|
||||
while ((page = GetNextPage(page)) != nullptr) {
|
||||
BuildDisplayListForExtraPage(aBuilder, this, page,
|
||||
dirtyRect + child->GetOffsetTo(page), &content);
|
||||
BuildDisplayListForExtraPage(aBuilder, this, page, &content);
|
||||
}
|
||||
|
||||
// Add the canvas background color to the bottom of the list. This
|
||||
|
Loading…
Reference in New Issue
Block a user