From 793da7dd6238ce156e29c71304e24b2c05edc11d Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Wed, 26 Feb 2020 20:51:22 +0100 Subject: Revert "Issue #1355 - Better way to create display items for column backgrounds" This reverts commit 44c47c50388f526c2d134e16d5debebe94a0faf8. --- layout/mathml/nsMathMLChar.cpp | 3 +-- 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 + 15 files changed, 24 insertions(+), 10 deletions(-) (limited to 'layout/mathml') diff --git a/layout/mathml/nsMathMLChar.cpp b/layout/mathml/nsMathMLChar.cpp index 4b02a52d8..507e32b22 100644 --- a/layout/mathml/nsMathMLChar.cpp +++ b/layout/mathml/nsMathMLChar.cpp @@ -1992,8 +1992,7 @@ nsMathMLChar::Display(nsDisplayListBuilder* aBuilder, if (styleContext != parentContext && NS_GET_A(backg->mBackgroundColor) > 0) { nsDisplayBackgroundImage::AppendBackgroundItemsToTop( - aBuilder, aForFrame, mRect + aBuilder->ToReferenceFrame(aForFrame), - aLists.BorderBackground(), + aBuilder, aForFrame, mRect, aLists.BorderBackground(), /* aAllowWillPaintBorderOptimization */ true, styleContext); } //else diff --git a/layout/mathml/nsMathMLContainerFrame.cpp b/layout/mathml/nsMathMLContainerFrame.cpp index 8e22ba204..93b631c9d 100644 --- a/layout/mathml/nsMathMLContainerFrame.cpp +++ b/layout/mathml/nsMathMLContainerFrame.cpp @@ -618,6 +618,7 @@ nsMathMLContainerFrame::PropagatePresentationDataFromChildAt(nsIFrame* aPa void nsMathMLContainerFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { // report an error if something wrong was found in this frame @@ -632,7 +633,8 @@ nsMathMLContainerFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, DisplayBorderBackgroundOutline(aBuilder, aLists); - BuildDisplayListForNonBlockChildren(aBuilder, aLists, DISPLAY_CHILD_INLINE); + BuildDisplayListForNonBlockChildren(aBuilder, aDirtyRect, aLists, + DISPLAY_CHILD_INLINE); #if defined(DEBUG) && defined(SHOW_BOUNDING_BOX) // for visual debug diff --git a/layout/mathml/nsMathMLContainerFrame.h b/layout/mathml/nsMathMLContainerFrame.h index 61c59a4fe..94ccf70d2 100644 --- a/layout/mathml/nsMathMLContainerFrame.h +++ b/layout/mathml/nsMathMLContainerFrame.h @@ -126,6 +126,7 @@ public: } virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; virtual bool ComputeCustomOverflow(nsOverflowAreas& aOverflowAreas) override; diff --git a/layout/mathml/nsMathMLSelectedFrame.cpp b/layout/mathml/nsMathMLSelectedFrame.cpp index 11eb14d83..2378d0763 100644 --- a/layout/mathml/nsMathMLSelectedFrame.cpp +++ b/layout/mathml/nsMathMLSelectedFrame.cpp @@ -71,13 +71,14 @@ nsMathMLSelectedFrame::SetInitialChildList(ChildListID aListID, // Only paint the selected child... void nsMathMLSelectedFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { // Report an error if something wrong was found in this frame. // We can't call nsDisplayMathMLError from here, // so ask nsMathMLContainerFrame to do the work for us. if (NS_MATHML_HAS_ERROR(mPresentationData.flags)) { - nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); return; } @@ -88,7 +89,7 @@ nsMathMLSelectedFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, // Put the child's background directly onto the content list nsDisplayListSet set(aLists, aLists.Content()); // The children should be in content order - BuildDisplayListForChild(aBuilder, childFrame, set); + BuildDisplayListForChild(aBuilder, childFrame, aDirtyRect, set); } #if defined(DEBUG) && defined(SHOW_BOUNDING_BOX) diff --git a/layout/mathml/nsMathMLSelectedFrame.h b/layout/mathml/nsMathMLSelectedFrame.h index 872351829..ad523a594 100644 --- a/layout/mathml/nsMathMLSelectedFrame.h +++ b/layout/mathml/nsMathMLSelectedFrame.h @@ -26,6 +26,7 @@ public: ChildListChanged(int32_t aModType) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; virtual nsresult diff --git a/layout/mathml/nsMathMLmencloseFrame.cpp b/layout/mathml/nsMathMLmencloseFrame.cpp index 236a5ab07..64277a92e 100644 --- a/layout/mathml/nsMathMLmencloseFrame.cpp +++ b/layout/mathml/nsMathMLmencloseFrame.cpp @@ -201,11 +201,12 @@ nsMathMLmencloseFrame::TransmitAutomaticData() void nsMathMLmencloseFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the menclosed content - nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); if (NS_MATHML_HAS_ERROR(mPresentationData.flags)) return; diff --git a/layout/mathml/nsMathMLmencloseFrame.h b/layout/mathml/nsMathMLmencloseFrame.h index e9e7a2b0a..82d73b2cf 100644 --- a/layout/mathml/nsMathMLmencloseFrame.h +++ b/layout/mathml/nsMathMLmencloseFrame.h @@ -70,6 +70,7 @@ public: GetAdditionalStyleContext(int32_t aIndex) const override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; NS_IMETHOD diff --git a/layout/mathml/nsMathMLmfencedFrame.cpp b/layout/mathml/nsMathMLmfencedFrame.cpp index 5d66e541b..ca780e649 100644 --- a/layout/mathml/nsMathMLmfencedFrame.cpp +++ b/layout/mathml/nsMathMLmfencedFrame.cpp @@ -161,11 +161,12 @@ nsMathMLmfencedFrame::CreateFencesAndSeparators(nsPresContext* aPresContext) void nsMathMLmfencedFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // display the content - nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); //////////// // display fences and separators diff --git a/layout/mathml/nsMathMLmfencedFrame.h b/layout/mathml/nsMathMLmfencedFrame.h index 472e5aed9..2d7535d0c 100644 --- a/layout/mathml/nsMathMLmfencedFrame.h +++ b/layout/mathml/nsMathMLmfencedFrame.h @@ -41,6 +41,7 @@ public: nsReflowStatus& aStatus) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; virtual void diff --git a/layout/mathml/nsMathMLmfracFrame.cpp b/layout/mathml/nsMathMLmfracFrame.cpp index 731cca7d0..4e74faea2 100644 --- a/layout/mathml/nsMathMLmfracFrame.cpp +++ b/layout/mathml/nsMathMLmfracFrame.cpp @@ -149,11 +149,12 @@ nsMathMLmfracFrame::CalcLineThickness(nsPresContext* aPresContext, void nsMathMLmfracFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the numerator and denominator - nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); ///////////// // paint the fraction line diff --git a/layout/mathml/nsMathMLmfracFrame.h b/layout/mathml/nsMathMLmfracFrame.h index 8ced03694..330a31180 100644 --- a/layout/mathml/nsMathMLmfracFrame.h +++ b/layout/mathml/nsMathMLmfracFrame.h @@ -67,6 +67,7 @@ public: ReflowOutput& aDesiredSize) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; virtual nsresult diff --git a/layout/mathml/nsMathMLmoFrame.cpp b/layout/mathml/nsMathMLmoFrame.cpp index 3ef7b88d0..591b46309 100644 --- a/layout/mathml/nsMathMLmoFrame.cpp +++ b/layout/mathml/nsMathMLmoFrame.cpp @@ -78,13 +78,14 @@ nsMathMLmoFrame::UseMathMLChar() void nsMathMLmoFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { bool useMathMLChar = UseMathMLChar(); if (!useMathMLChar) { // let the base class do everything - nsMathMLTokenFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLTokenFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); } else { DisplayBorderBackgroundOutline(aBuilder, aLists); diff --git a/layout/mathml/nsMathMLmoFrame.h b/layout/mathml/nsMathMLmoFrame.h index 15df62ac2..f25107a20 100644 --- a/layout/mathml/nsMathMLmoFrame.h +++ b/layout/mathml/nsMathMLmoFrame.h @@ -29,6 +29,7 @@ public: GetAdditionalStyleContext(int32_t aIndex) const override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; NS_IMETHOD diff --git a/layout/mathml/nsMathMLmrootFrame.cpp b/layout/mathml/nsMathMLmrootFrame.cpp index 300adcb91..4c81bde3d 100644 --- a/layout/mathml/nsMathMLmrootFrame.cpp +++ b/layout/mathml/nsMathMLmrootFrame.cpp @@ -77,11 +77,12 @@ nsMathMLmrootFrame::TransmitAutomaticData() void nsMathMLmrootFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the content we are square-rooting - nsMathMLContainerFrame::BuildDisplayList(aBuilder, aLists); + nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); ///////////// // paint the sqrt symbol diff --git a/layout/mathml/nsMathMLmrootFrame.h b/layout/mathml/nsMathMLmrootFrame.h index ddf6f89a6..0996af26b 100644 --- a/layout/mathml/nsMathMLmrootFrame.h +++ b/layout/mathml/nsMathMLmrootFrame.h @@ -51,6 +51,7 @@ public: ReflowOutput& aDesiredSize) override; virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) override; uint8_t -- cgit v1.2.3