mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-04 06:48:38 +09:00
Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList
Also fix build bustage for De-unified layout/xul in nsRootBoxFrame.cpp
This commit is contained in:
parent
7ae0c88c46
commit
85b85bac28
154 changed files with 259 additions and 430 deletions
|
|
@ -864,10 +864,9 @@ nsDisplayListBuilder::FindAnimatedGeometryRootFor(nsDisplayItem* aItem)
|
|||
|
||||
|
||||
void nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay(nsIFrame* aDirtyFrame,
|
||||
nsIFrame* aFrame,
|
||||
const nsRect& aDirtyRect)
|
||||
nsIFrame* aFrame)
|
||||
{
|
||||
nsRect dirtyRectRelativeToDirtyFrame = aDirtyRect;
|
||||
nsRect dirtyRectRelativeToDirtyFrame = GetDirtyRect();
|
||||
if (nsLayoutUtils::IsFixedPosFrameInDisplayPort(aFrame) &&
|
||||
IsPaintingToWindow()) {
|
||||
NS_ASSERTION(aDirtyFrame == aFrame->GetParent(), "Dirty frame should be viewport frame");
|
||||
|
|
@ -882,7 +881,9 @@ void nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay(nsIFrame* aDirtyFrame,
|
|||
dirtyRectRelativeToDirtyFrame.SizeTo(aDirtyFrame->GetSize());
|
||||
}
|
||||
}
|
||||
nsRect dirty = dirtyRectRelativeToDirtyFrame - aFrame->GetOffsetTo(aDirtyFrame);
|
||||
|
||||
nsPoint offset = aFrame->GetOffsetTo(aDirtyFrame);
|
||||
nsRect dirty = dirtyRectRelativeToDirtyFrame - offset;
|
||||
nsRect overflowRect = aFrame->GetVisualOverflowRect();
|
||||
|
||||
if (aFrame->IsTransformed() &&
|
||||
|
|
@ -1094,8 +1095,7 @@ nsDisplayListBuilder::ResetMarkedFramesForDisplayList()
|
|||
|
||||
void
|
||||
nsDisplayListBuilder::MarkFramesForDisplayList(nsIFrame* aDirtyFrame,
|
||||
const nsFrameList& aFrames,
|
||||
const nsRect& aDirtyRect) {
|
||||
const nsFrameList& aFrames) {
|
||||
for (nsIFrame* e : aFrames) {
|
||||
// Skip the AccessibleCaret frame when building no caret.
|
||||
if (!IsBuildingCaret()) {
|
||||
|
|
@ -1107,9 +1107,8 @@ nsDisplayListBuilder::MarkFramesForDisplayList(nsIFrame* aDirtyFrame,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
mFramesMarkedForDisplay.AppendElement(e);
|
||||
MarkOutOfFlowFrameForDisplay(aDirtyFrame, e, aDirtyRect);
|
||||
MarkOutOfFlowFrameForDisplay(aDirtyFrame, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2626,7 +2625,6 @@ SpecialCutoutRegionCase(nsDisplayListBuilder* aBuilder,
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*static*/ bool
|
||||
nsDisplayBackgroundImage::AppendBackgroundItemsToTop(nsDisplayListBuilder* aBuilder,
|
||||
nsIFrame* aFrame,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue