diff --git a/layout/svg/base/src/nsSVGContainerFrame.cpp b/layout/svg/base/src/nsSVGContainerFrame.cpp index 7a0b52b58a2d..387291324725 100644 --- a/layout/svg/base/src/nsSVGContainerFrame.cpp +++ b/layout/svg/base/src/nsSVGContainerFrame.cpp @@ -238,10 +238,6 @@ nsSVGDisplayContainerFrame::NotifySVGChanged(PRUint32 aFlags) NS_ASSERTION(aFlags & (TRANSFORM_CHANGED | COORD_CONTEXT_CHANGED), "Invalidation logic may need adjusting"); - if (!(aFlags & SUPPRESS_INVALIDATION) && - !(GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)) - nsSVGUtils::UpdateFilterRegion(this); - nsSVGUtils::NotifyChildrenOfSVGChange(this, aFlags); } diff --git a/layout/svg/base/src/nsSVGEffects.cpp b/layout/svg/base/src/nsSVGEffects.cpp index 3433a597dcc5..75449e5a142f 100644 --- a/layout/svg/base/src/nsSVGEffects.cpp +++ b/layout/svg/base/src/nsSVGEffects.cpp @@ -176,13 +176,6 @@ NS_IMPL_ISUPPORTS_INHERITED1(nsSVGFilterProperty, nsSVGRenderingObserver, nsISVGFilterProperty) -nsSVGFilterProperty::nsSVGFilterProperty(nsIURI *aURI, - nsIFrame *aFilteredFrame) - : nsSVGRenderingObserver(aURI, aFilteredFrame) -{ - UpdateRect(); -} - nsSVGFilterFrame * nsSVGFilterProperty::GetFilterFrame() { @@ -190,18 +183,6 @@ nsSVGFilterProperty::GetFilterFrame() (GetReferencedFrame(nsGkAtoms::svgFilterFrame, nsnull)); } -void -nsSVGFilterProperty::UpdateRect() -{ - nsSVGFilterFrame *filter = GetFilterFrame(); - if (filter) { - mFilterRect = filter->GetFilterBBox(mFrame, nsnull); - mFilterRect.ScaleRoundOut(filter->PresContext()->AppUnitsPerDevPixel()); - } else { - mFilterRect = nsRect(); - } -} - static void InvalidateAllContinuations(nsIFrame* aFrame) { diff --git a/layout/svg/base/src/nsSVGEffects.h b/layout/svg/base/src/nsSVGEffects.h index 7f8ae6216d08..794e97f3c2a1 100644 --- a/layout/svg/base/src/nsSVGEffects.h +++ b/layout/svg/base/src/nsSVGEffects.h @@ -125,13 +125,13 @@ protected: class nsSVGFilterProperty : public nsSVGRenderingObserver, public nsISVGFilterProperty { public: - nsSVGFilterProperty(nsIURI *aURI, nsIFrame *aFilteredFrame); + nsSVGFilterProperty(nsIURI *aURI, nsIFrame *aFilteredFrame) + : nsSVGRenderingObserver(aURI, aFilteredFrame) {} /** * @return the filter frame, or null if there is no filter frame */ nsSVGFilterFrame *GetFilterFrame(); - void UpdateRect(); // nsISupports NS_DECL_ISUPPORTS @@ -142,12 +142,6 @@ public: private: // nsSVGRenderingObserver virtual void DoUpdate(); - - // Tracks a bounding box for the filtered mFrame. We need this so that - // if the filter changes we know how much to redraw. We only need this - // for SVG frames since regular frames have an overflow area - // that includes the filtered area. - nsRect mFilterRect; }; class nsSVGMarkerProperty : public nsSVGRenderingObserver { diff --git a/layout/svg/base/src/nsSVGForeignObjectFrame.cpp b/layout/svg/base/src/nsSVGForeignObjectFrame.cpp index 6737fbd46832..678b05577158 100644 --- a/layout/svg/base/src/nsSVGForeignObjectFrame.cpp +++ b/layout/svg/base/src/nsSVGForeignObjectFrame.cpp @@ -374,8 +374,6 @@ nsSVGForeignObjectFrame::UpdateCoveredRegion() // we should not unconditionally reflow in AttributeChanged mRect = GetTransformedRegion(x, y, w, h, ctm, PresContext()); - nsSVGUtils::UpdateFilterRegion(this); - return NS_OK; } diff --git a/layout/svg/base/src/nsSVGPathGeometryFrame.cpp b/layout/svg/base/src/nsSVGPathGeometryFrame.cpp index 6a503ac1a2f8..0bb0891e6035 100644 --- a/layout/svg/base/src/nsSVGPathGeometryFrame.cpp +++ b/layout/svg/base/src/nsSVGPathGeometryFrame.cpp @@ -274,7 +274,6 @@ nsSVGPathGeometryFrame::UpdateCoveredRegion() // Add in markers mRect = GetCoveredRegion(); - nsSVGUtils::UpdateFilterRegion(this); return NS_OK; } diff --git a/layout/svg/base/src/nsSVGUtils.cpp b/layout/svg/base/src/nsSVGUtils.cpp index c3e83886b9ed..41e4c589dd6b 100644 --- a/layout/svg/base/src/nsSVGUtils.cpp +++ b/layout/svg/base/src/nsSVGUtils.cpp @@ -584,16 +584,6 @@ nsSVGUtils::FindFilterInvalidation(nsIFrame *aFrame, const nsRect& aRect) return rect; } -void -nsSVGUtils::UpdateFilterRegion(nsIFrame *aFrame) -{ - nsSVGEffects::EffectProperties props = - nsSVGEffects::GetEffectProperties(aFrame); - if (props.mFilter) { - props.mFilter->UpdateRect(); - } -} - void nsSVGUtils::UpdateGraphic(nsISVGChildFrame *aSVGFrame) { diff --git a/layout/svg/base/src/nsSVGUtils.h b/layout/svg/base/src/nsSVGUtils.h index 68ce78a188e4..dff32a5f4040 100644 --- a/layout/svg/base/src/nsSVGUtils.h +++ b/layout/svg/base/src/nsSVGUtils.h @@ -259,11 +259,6 @@ public: */ static nsRect FindFilterInvalidation(nsIFrame *aFrame, const nsRect& aRect); - /* - * Update the filter invalidation region for this frame, if relevant. - */ - static void UpdateFilterRegion(nsIFrame *aFrame); - /* * Update the area covered by the frame */