From 71137783ac6927bd0dc02fce1d6e61e6ec027753 Mon Sep 17 00:00:00 2001 From: win7-7 Date: Fri, 8 May 2020 15:20:01 +0300 Subject: 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 --- layout/base/nsDisplayList.cpp | 16 +++---- layout/base/nsDisplayList.h | 25 ++++++----- layout/base/nsLayoutUtils.cpp | 6 ++- layout/base/nsPresShell.cpp | 4 +- layout/forms/nsComboboxControlFrame.cpp | 11 +---- layout/forms/nsComboboxControlFrame.h | 1 - layout/forms/nsFieldSetFrame.cpp | 7 ++- layout/forms/nsFieldSetFrame.h | 1 - layout/forms/nsFileControlFrame.cpp | 3 +- layout/forms/nsFileControlFrame.h | 1 - layout/forms/nsFormControlFrame.h | 1 - layout/forms/nsGfxCheckboxControlFrame.cpp | 3 +- layout/forms/nsGfxCheckboxControlFrame.h | 1 - layout/forms/nsGfxRadioControlFrame.cpp | 3 +- layout/forms/nsGfxRadioControlFrame.h | 1 - layout/forms/nsHTMLButtonControlFrame.cpp | 3 +- layout/forms/nsHTMLButtonControlFrame.h | 1 - layout/forms/nsListControlFrame.cpp | 3 +- layout/forms/nsListControlFrame.h | 1 - layout/forms/nsProgressFrame.cpp | 3 +- layout/forms/nsProgressFrame.h | 1 - layout/forms/nsRangeFrame.cpp | 5 +-- layout/forms/nsRangeFrame.h | 1 - layout/forms/nsSelectsAreaFrame.cpp | 8 ++-- layout/forms/nsSelectsAreaFrame.h | 2 - layout/forms/nsTextControlFrame.cpp | 3 +- layout/forms/nsTextControlFrame.h | 1 - layout/generic/nsBackdropFrame.cpp | 1 - layout/generic/nsBackdropFrame.h | 1 - layout/generic/nsBlockFrame.cpp | 27 ++++++------ layout/generic/nsBlockFrame.h | 1 - layout/generic/nsBulletFrame.cpp | 1 - layout/generic/nsBulletFrame.h | 1 - layout/generic/nsCanvasFrame.cpp | 7 ++- layout/generic/nsCanvasFrame.h | 1 - layout/generic/nsColumnSetFrame.cpp | 3 +- layout/generic/nsColumnSetFrame.h | 1 - layout/generic/nsContainerFrame.cpp | 9 ++-- layout/generic/nsContainerFrame.h | 7 +-- layout/generic/nsFirstLetterFrame.cpp | 3 +- layout/generic/nsFirstLetterFrame.h | 1 - layout/generic/nsFlexContainerFrame.cpp | 3 +- layout/generic/nsFlexContainerFrame.h | 1 - layout/generic/nsFrame.cpp | 65 ++++++++++++++-------------- layout/generic/nsFrameSetFrame.cpp | 7 +-- layout/generic/nsFrameSetFrame.h | 1 - layout/generic/nsGfxScrollFrame.cpp | 58 +++++++++++++++---------- layout/generic/nsGfxScrollFrame.h | 8 +--- layout/generic/nsGridContainerFrame.cpp | 6 +-- layout/generic/nsGridContainerFrame.h | 1 - layout/generic/nsHTMLCanvasFrame.cpp | 1 - layout/generic/nsHTMLCanvasFrame.h | 1 - layout/generic/nsIFrame.h | 13 +----- layout/generic/nsImageFrame.cpp | 1 - layout/generic/nsImageFrame.h | 1 - layout/generic/nsInlineFrame.cpp | 3 +- layout/generic/nsInlineFrame.h | 1 - layout/generic/nsLeafFrame.h | 1 - layout/generic/nsPageFrame.cpp | 18 +++++--- layout/generic/nsPageFrame.h | 1 - layout/generic/nsPlaceholderFrame.cpp | 1 - layout/generic/nsPlaceholderFrame.h | 1 - layout/generic/nsPluginFrame.cpp | 1 - layout/generic/nsPluginFrame.h | 1 - layout/generic/nsRubyTextFrame.cpp | 3 +- layout/generic/nsRubyTextFrame.h | 1 - layout/generic/nsSimplePageSequenceFrame.cpp | 10 +++-- layout/generic/nsSimplePageSequenceFrame.h | 1 - layout/generic/nsSubDocumentFrame.cpp | 32 +++++++------- layout/generic/nsSubDocumentFrame.h | 1 - layout/generic/nsTextFrame.cpp | 1 - layout/generic/nsTextFrame.h | 1 - layout/generic/nsVideoFrame.cpp | 18 ++++---- layout/generic/nsVideoFrame.h | 1 - layout/generic/nsViewportFrame.cpp | 9 ++-- layout/generic/nsViewportFrame.h | 1 - layout/ipc/RenderFrameParent.cpp | 1 - layout/ipc/RenderFrameParent.h | 1 - layout/mathml/nsMathMLContainerFrame.cpp | 4 +- layout/mathml/nsMathMLContainerFrame.h | 1 - layout/mathml/nsMathMLSelectedFrame.cpp | 5 +-- layout/mathml/nsMathMLSelectedFrame.h | 1 - layout/mathml/nsMathMLmencloseFrame.cpp | 3 +- layout/mathml/nsMathMLmencloseFrame.h | 1 - layout/mathml/nsMathMLmfencedFrame.cpp | 3 +- layout/mathml/nsMathMLmfencedFrame.h | 1 - layout/mathml/nsMathMLmfracFrame.cpp | 3 +- layout/mathml/nsMathMLmfracFrame.h | 1 - layout/mathml/nsMathMLmoFrame.cpp | 3 +- layout/mathml/nsMathMLmoFrame.h | 1 - layout/mathml/nsMathMLmrootFrame.cpp | 3 +- layout/mathml/nsMathMLmrootFrame.h | 1 - layout/svg/SVGFEUnstyledLeafFrame.cpp | 1 - layout/svg/SVGTextFrame.cpp | 1 - layout/svg/SVGTextFrame.h | 1 - layout/svg/nsSVGClipPathFrame.h | 1 - layout/svg/nsSVGContainerFrame.cpp | 3 +- layout/svg/nsSVGContainerFrame.h | 2 - layout/svg/nsSVGFilterFrame.h | 1 - layout/svg/nsSVGForeignObjectFrame.cpp | 3 +- layout/svg/nsSVGForeignObjectFrame.h | 1 - layout/svg/nsSVGMarkerFrame.h | 1 - layout/svg/nsSVGMaskFrame.h | 1 - layout/svg/nsSVGOuterSVGFrame.cpp | 3 +- layout/svg/nsSVGOuterSVGFrame.h | 1 - layout/svg/nsSVGPaintServerFrame.h | 1 - layout/svg/nsSVGPathGeometryFrame.cpp | 1 - layout/svg/nsSVGPathGeometryFrame.h | 1 - layout/svg/nsSVGStopFrame.cpp | 1 - layout/svg/nsSVGSwitchFrame.cpp | 4 +- layout/tables/nsTableCellFrame.cpp | 3 +- layout/tables/nsTableCellFrame.h | 1 - layout/tables/nsTableColFrame.cpp | 3 +- layout/tables/nsTableColFrame.h | 1 - layout/tables/nsTableColGroupFrame.cpp | 3 +- layout/tables/nsTableColGroupFrame.h | 1 - layout/tables/nsTableFrame.cpp | 40 ++++++++--------- layout/tables/nsTableFrame.h | 6 +-- layout/tables/nsTableRowFrame.cpp | 3 +- layout/tables/nsTableRowFrame.h | 1 - layout/tables/nsTableRowGroupFrame.cpp | 13 +++--- layout/tables/nsTableRowGroupFrame.h | 1 - layout/tables/nsTableWrapperFrame.cpp | 11 ++--- layout/tables/nsTableWrapperFrame.h | 2 - layout/xul/nsBoxFrame.cpp | 6 +-- layout/xul/nsBoxFrame.h | 2 - layout/xul/nsButtonBoxFrame.cpp | 3 +- layout/xul/nsButtonBoxFrame.h | 1 - layout/xul/nsDeckFrame.cpp | 6 +-- layout/xul/nsDeckFrame.h | 2 - layout/xul/nsGroupBoxFrame.cpp | 4 +- layout/xul/nsImageBoxFrame.cpp | 3 +- layout/xul/nsImageBoxFrame.h | 1 - layout/xul/nsLeafBoxFrame.cpp | 1 - layout/xul/nsLeafBoxFrame.h | 1 - layout/xul/nsListItemFrame.cpp | 3 +- layout/xul/nsListItemFrame.h | 1 - layout/xul/nsMenuFrame.cpp | 5 +-- layout/xul/nsMenuFrame.h | 1 - layout/xul/nsRootBoxFrame.cpp | 8 ++-- layout/xul/nsSliderFrame.cpp | 8 ++-- layout/xul/nsSliderFrame.h | 2 - layout/xul/nsSplitterFrame.cpp | 3 +- layout/xul/nsSplitterFrame.h | 1 - layout/xul/nsStackFrame.cpp | 4 +- layout/xul/nsStackFrame.h | 1 - layout/xul/nsTextBoxFrame.cpp | 3 +- layout/xul/nsTextBoxFrame.h | 1 - layout/xul/nsTitleBarFrame.cpp | 3 +- layout/xul/nsTitleBarFrame.h | 1 - layout/xul/tree/nsTreeBodyFrame.cpp | 3 +- layout/xul/tree/nsTreeBodyFrame.h | 1 - layout/xul/tree/nsTreeColFrame.cpp | 5 +-- layout/xul/tree/nsTreeColFrame.h | 1 - 154 files changed, 259 insertions(+), 430 deletions(-) (limited to 'layout') diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 8a34d108f..b08fe4219 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -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, diff --git a/layout/base/nsDisplayList.h b/layout/base/nsDisplayList.h index 9cee7b517..e4fb57e8a 100644 --- a/layout/base/nsDisplayList.h +++ b/layout/base/nsDisplayList.h @@ -444,6 +444,10 @@ public: * BuildDisplayList on right now). */ const nsRect& GetDirtyRect() { return mDirtyRect; } + + void SetDirtyRect(const nsRect& aDirtyRect) { mDirtyRect = aDirtyRect; } + void IntersectDirtyRect(const nsRect& aDirtyRect) { mDirtyRect.IntersectRect(mDirtyRect, aDirtyRect); } + const nsIFrame* GetCurrentFrame() { return mCurrentFrame; } const nsIFrame* GetCurrentReferenceFrame() { return mCurrentReferenceFrame; } const nsPoint& GetCurrentFrameOffsetToReferenceFrame() { return mCurrentOffsetToReferenceFrame; } @@ -493,11 +497,10 @@ public: /** * Display the caret if needed. */ - void DisplayCaret(nsIFrame* aFrame, const nsRect& aDirtyRect, - nsDisplayList* aList) { + void DisplayCaret(nsIFrame* aFrame, nsDisplayList* aList) { nsIFrame* frame = GetCaretFrame(); if (aFrame == frame) { - frame->DisplayCaret(this, aDirtyRect, aList); + frame->DisplayCaret(this, aList); } } /** @@ -602,8 +605,7 @@ public: * destroyed. */ void MarkFramesForDisplayList(nsIFrame* aDirtyFrame, - const nsFrameList& aFrames, - const nsRect& aDirtyRect); + const nsFrameList& aFrames); /** * Mark all child frames that Preserve3D() as needing display. * Because these frames include transforms set on their parent, dirty rects @@ -700,8 +702,8 @@ public: friend class AutoBuildingDisplayList; class AutoBuildingDisplayList { public: - AutoBuildingDisplayList(nsDisplayListBuilder* aBuilder, - nsIFrame* aForChild, + + AutoBuildingDisplayList(nsDisplayListBuilder* aBuilder, nsIFrame* aForChild, const nsRect& aDirtyRect, bool aIsRoot) : mBuilder(aBuilder), mPrevFrame(aBuilder->mCurrentFrame), @@ -1120,11 +1122,11 @@ public: Preserves3DContext mSavedCtx; }; - const nsRect GetPreserves3DDirtyRect(const nsIFrame *aFrame) const { + const nsRect GetPreserves3DRects() const { return mPreserves3DCtx.mDirtyRect; } - void SetPreserves3DDirtyRect(const nsRect &aDirtyRect) { - mPreserves3DCtx.mDirtyRect = aDirtyRect; + void SavePreserves3DRects() { + mPreserves3DCtx.mDirtyRect = mDirtyRect; } bool IsBuildingInvisibleItems() const { return mBuildingInvisibleItems; } @@ -1133,8 +1135,7 @@ public: } private: - void MarkOutOfFlowFrameForDisplay(nsIFrame* aDirtyFrame, nsIFrame* aFrame, - const nsRect& aDirtyRect); + void MarkOutOfFlowFrameForDisplay(nsIFrame* aDirtyFrame, nsIFrame* aFrame); /** * Returns whether a frame acts as an animated geometry root, optionally diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index 04ac9ef52..fb0b42a6c 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -3190,7 +3190,8 @@ nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect, } builder.EnterPresShell(aFrame); - aFrame->BuildDisplayListForStackingContext(&builder, aRect, &list); + builder.SetDirtyRect(aRect); + aFrame->BuildDisplayListForStackingContext(&builder, &list); builder.LeavePresShell(aFrame, nullptr); #ifdef MOZ_DUMP_PAINTING @@ -3539,7 +3540,8 @@ nsLayoutUtils::PaintFrame(nsRenderingContext* aRenderingContext, nsIFrame* aFram PROFILER_LABEL("nsLayoutUtils", "PaintFrame::BuildDisplayList", js::ProfileEntry::Category::GRAPHICS); - aFrame->BuildDisplayListForStackingContext(&builder, dirtyRect, &list); + builder.SetDirtyRect(dirtyRect); + aFrame->BuildDisplayListForStackingContext(&builder, &list); } nsIAtom* frameType = aFrame->GetType(); diff --git a/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp index 2615bbc49..63f512af4 100644 --- a/layout/base/nsPresShell.cpp +++ b/layout/base/nsPresShell.cpp @@ -4898,8 +4898,8 @@ PresShell::CreateRangePaintInfo(nsIDOMRange* aRange, nsIFrame* frame = aNode->AsContent()->GetPrimaryFrame(); // XXX deal with frame being null due to display:contents for (; frame; frame = nsLayoutUtils::GetNextContinuationOrIBSplitSibling(frame)) { - frame->BuildDisplayListForStackingContext(&info->mBuilder, - frame->GetVisualOverflowRect(), &info->mList); + info->mBuilder.SetDirtyRect(frame->GetVisualOverflowRect()); + frame->BuildDisplayListForStackingContext(&info->mBuilder, &info->mList); } }; if (startParent->NodeType() == nsIDOMNode::TEXT_NODE) { diff --git a/layout/forms/nsComboboxControlFrame.cpp b/layout/forms/nsComboboxControlFrame.cpp index 78185616f..1fa3c9c06 100644 --- a/layout/forms/nsComboboxControlFrame.cpp +++ b/layout/forms/nsComboboxControlFrame.cpp @@ -1294,7 +1294,6 @@ public: nsReflowStatus& aStatus) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; protected: @@ -1335,11 +1334,10 @@ nsComboboxDisplayFrame::Reflow(nsPresContext* aPresContext, void nsComboboxDisplayFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { nsDisplayListCollection set; - nsBlockFrame::BuildDisplayList(aBuilder, aDirtyRect, set); + nsBlockFrame::BuildDisplayList(aBuilder, set); // remove background items if parent frame is themed if (mComboBox->IsThemed()) { @@ -1547,13 +1545,8 @@ void nsDisplayComboboxFocus::Paint(nsDisplayListBuilder* aBuilder, void nsComboboxControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { -#ifdef NOISY - printf("%p paint at (%d, %d, %d, %d)\n", this, - aDirtyRect.x, aDirtyRect.y, aDirtyRect.width, aDirtyRect.height); -#endif if (aBuilder->IsForEventDelivery()) { // Don't allow children to receive events. @@ -1562,7 +1555,7 @@ nsComboboxControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, } else { // REVIEW: Our in-flow child frames are inline-level so they will paint in our // content list, so we don't need to mess with layers. - nsBlockFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); + nsBlockFrame::BuildDisplayList(aBuilder, aLists); } // draw a focus indicator only when focus rings should be drawn diff --git a/layout/forms/nsComboboxControlFrame.h b/layout/forms/nsComboboxControlFrame.h index 22849e8d1..d83726d81 100644 --- a/layout/forms/nsComboboxControlFrame.h +++ b/layout/forms/nsComboboxControlFrame.h @@ -89,7 +89,6 @@ public: nsEventStatus* aEventStatus) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; void PaintFocus(DrawTarget& aDrawTarget, nsPoint aPt); diff --git a/layout/forms/nsFieldSetFrame.cpp b/layout/forms/nsFieldSetFrame.cpp index fc9f0571b..087f44728 100644 --- a/layout/forms/nsFieldSetFrame.cpp +++ b/layout/forms/nsFieldSetFrame.cpp @@ -153,7 +153,6 @@ nsDisplayFieldSetBorderBackground::ComputeInvalidationRegion(nsDisplayListBuilde void nsFieldSetFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { // Paint our background and border in a special way. // REVIEW: We don't really need to check frame emptiness here; if it's empty, @@ -180,7 +179,7 @@ nsFieldSetFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, } if (GetPrevInFlow()) { - DisplayOverflowContainers(aBuilder, aDirtyRect, aLists); + DisplayOverflowContainers(aBuilder, aLists); } nsDisplayListCollection contentDisplayItems; @@ -191,13 +190,13 @@ nsFieldSetFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, // legend. However, we want the inner frame's display items to be // after the legend's display items in z-order, so we need to save them // and append them later. - BuildDisplayListForChild(aBuilder, inner, aDirtyRect, contentDisplayItems); + BuildDisplayListForChild(aBuilder, inner, contentDisplayItems); } if (nsIFrame* legend = GetLegend()) { // The legend's background goes on our BlockBorderBackgrounds list because // it's a block child. nsDisplayListSet set(aLists, aLists.BlockBorderBackgrounds()); - BuildDisplayListForChild(aBuilder, legend, aDirtyRect, set); + BuildDisplayListForChild(aBuilder, legend, set); } // Put the inner frame's display items on the master list. Note that this // moves its border/background display items to our BorderBackground() list, diff --git a/layout/forms/nsFieldSetFrame.h b/layout/forms/nsFieldSetFrame.h index 5eb67c320..7c162515e 100644 --- a/layout/forms/nsFieldSetFrame.h +++ b/layout/forms/nsFieldSetFrame.h @@ -53,7 +53,6 @@ public: nscoord* aBaseline) const override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; DrawResult PaintBorder(nsDisplayListBuilder* aBuilder, diff --git a/layout/forms/nsFileControlFrame.cpp b/layout/forms/nsFileControlFrame.cpp index 659371615..d60e4fb46 100644 --- a/layout/forms/nsFileControlFrame.cpp +++ b/layout/forms/nsFileControlFrame.cpp @@ -485,10 +485,9 @@ nsFileControlFrame::SetFormProperty(nsIAtom* aName, void nsFileControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { - BuildDisplayListForInline(aBuilder, aDirtyRect, aLists); + BuildDisplayListForInline(aBuilder, aLists); } #ifdef ACCESSIBILITY diff --git a/layout/forms/nsFileControlFrame.h b/layout/forms/nsFileControlFrame.h index 55c51d426..4f975af29 100644 --- a/layout/forms/nsFileControlFrame.h +++ b/layout/forms/nsFileControlFrame.h @@ -33,7 +33,6 @@ public: nsIFrame* aPrevInFlow) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; NS_DECL_QUERYFRAME diff --git a/layout/forms/nsFormControlFrame.h b/layout/forms/nsFormControlFrame.h index fd3e95d93..41bb1d9e8 100644 --- a/layout/forms/nsFormControlFrame.h +++ b/layout/forms/nsFormControlFrame.h @@ -40,7 +40,6 @@ public: // nsIFrame replacements virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override { DO_GLOBAL_REFLOW_COUNT_DSP("nsFormControlFrame"); DisplayBorderBackgroundOutline(aBuilder, aLists); diff --git a/layout/forms/nsGfxCheckboxControlFrame.cpp b/layout/forms/nsGfxCheckboxControlFrame.cpp index 061c92349..80009eff2 100644 --- a/layout/forms/nsGfxCheckboxControlFrame.cpp +++ b/layout/forms/nsGfxCheckboxControlFrame.cpp @@ -107,10 +107,9 @@ nsGfxCheckboxControlFrame::AccessibleType() //------------------------------------------------------------ void nsGfxCheckboxControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { - nsFormControlFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); + nsFormControlFrame::BuildDisplayList(aBuilder, aLists); // Get current checked state through content model. if ((!IsChecked() && !IsIndeterminate()) || !IsVisibleForPainting(aBuilder)) diff --git a/layout/forms/nsGfxCheckboxControlFrame.h b/layout/forms/nsGfxCheckboxControlFrame.h index 70b8d8d6a..9234b5057 100644 --- a/layout/forms/nsGfxCheckboxControlFrame.h +++ b/layout/forms/nsGfxCheckboxControlFrame.h @@ -23,7 +23,6 @@ public: #endif virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; #ifdef ACCESSIBILITY diff --git a/layout/forms/nsGfxRadioControlFrame.cpp b/layout/forms/nsGfxRadioControlFrame.cpp index e4a35a998..9c1ec070b 100644 --- a/layout/forms/nsGfxRadioControlFrame.cpp +++ b/layout/forms/nsGfxRadioControlFrame.cpp @@ -70,10 +70,9 @@ PaintCheckedRadioButton(nsIFrame* aFrame, void nsGfxRadioControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { - nsFormControlFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); + nsFormControlFrame::BuildDisplayList(aBuilder, aLists); if (!IsVisibleForPainting(aBuilder)) return; diff --git a/layout/forms/nsGfxRadioControlFrame.h b/layout/forms/nsGfxRadioControlFrame.h index f91e6b94c..dd268dec1 100644 --- a/layout/forms/nsGfxRadioControlFrame.h +++ b/layout/forms/nsGfxRadioControlFrame.h @@ -25,7 +25,6 @@ public: #endif virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; }; diff --git a/layout/forms/nsHTMLButtonControlFrame.cpp b/layout/forms/nsHTMLButtonControlFrame.cpp index c6d8e1c4f..10f24e1e0 100644 --- a/layout/forms/nsHTMLButtonControlFrame.cpp +++ b/layout/forms/nsHTMLButtonControlFrame.cpp @@ -98,7 +98,6 @@ nsHTMLButtonControlFrame::ShouldClipPaintingToBorderBox() void nsHTMLButtonControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { // Clip to our border area for event hit testing. @@ -132,7 +131,7 @@ nsHTMLButtonControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, clipState.ClipContainingBlockDescendants(rect, hasRadii ? radii : nullptr); } - BuildDisplayListForChild(aBuilder, mFrames.FirstChild(), aDirtyRect, set, + BuildDisplayListForChild(aBuilder, mFrames.FirstChild(), set, DISPLAY_CHILD_FORCE_PSEUDO_STACKING_CONTEXT); // That should put the display items in set.Content() } diff --git a/layout/forms/nsHTMLButtonControlFrame.h b/layout/forms/nsHTMLButtonControlFrame.h index 432afa12c..8837daf74 100644 --- a/layout/forms/nsHTMLButtonControlFrame.h +++ b/layout/forms/nsHTMLButtonControlFrame.h @@ -27,7 +27,6 @@ public: NS_DECL_FRAMEARENA_HELPERS virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; virtual nscoord GetMinISize(nsRenderingContext *aRenderingContext) override; diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp index 58e81039f..2233c5996 100644 --- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -155,7 +155,6 @@ nsListControlFrame::DestroyFrom(nsIFrame* aDestructRoot) void nsListControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, - const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { // We allow visibility:hidden