summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGContainer.cpp')
-rw-r--r--WebCore/rendering/RenderSVGContainer.cpp16
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)