diff options
Diffstat (limited to 'WebCore/rendering/RenderSVGContainer.cpp')
-rw-r--r-- | WebCore/rendering/RenderSVGContainer.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/WebCore/rendering/RenderSVGContainer.cpp b/WebCore/rendering/RenderSVGContainer.cpp index ad63771..bab07a4 100644 --- a/WebCore/rendering/RenderSVGContainer.cpp +++ b/WebCore/rendering/RenderSVGContainer.cpp @@ -31,6 +31,7 @@ #include "RenderSVGResourceFilter.h" #include "RenderView.h" #include "SVGRenderSupport.h" +#include "SVGResources.h" #include "SVGStyledElement.h" namespace WebCore { @@ -58,23 +59,22 @@ void RenderSVGContainer::layout() SVGRenderSupport::layoutChildren(this, selfNeedsLayout()); - // Invalidate all resources of this client, if we changed something. + // Invalidate all resources of this client if our layout changed. if (m_everHadLayout && selfNeedsLayout()) - RenderSVGResource::invalidateAllResourcesOfRenderer(this); + SVGResourcesCache::clientLayoutChanged(this); repainter.repaintAfterLayout(); setNeedsLayout(false); } -bool RenderSVGContainer::selfWillPaint() const +bool RenderSVGContainer::selfWillPaint() { #if ENABLE(FILTERS) - const SVGRenderStyle* svgStyle = style()->svgStyle(); - RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(document(), svgStyle->filterResource()); - if (filter) - return true; -#endif + SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(this); + return resources && resources->filter(); +#else return false; +#endif } void RenderSVGContainer::paint(PaintInfo& paintInfo, int, int) |