summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h')
-rw-r--r--Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
index a3c1244..9e7b2fe 100644
--- a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
+++ b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
@@ -24,6 +24,7 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "FilterEffect.h"
#include "PlatformString.h"
+#include "RenderObject.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
@@ -43,16 +44,20 @@ public:
FilterEffect* getEffectById(const AtomicString& id) const;
FilterEffect* lastEffect() const { return m_lastEffect.get(); }
- void appendEffectToEffectReferences(RefPtr<FilterEffect>);
+ void appendEffectToEffectReferences(RefPtr<FilterEffect>, RenderObject*);
- inline FilterEffectSet& getEffectReferences(FilterEffect* effect)
+ inline FilterEffectSet& effectReferences(FilterEffect* effect)
{
// Only allowed for effects belongs to this builder.
ASSERT(m_effectReferences.contains(effect));
return m_effectReferences.find(effect)->second;
}
+ // Required to change the attributes of a filter during an svgAttributeChanged.
+ inline FilterEffect* effectByRenderer(RenderObject* object) { return m_effectRenderer.get(object); }
+
void clearEffects();
+ void clearResultsRecursive(FilterEffect*);
private:
SVGFilterBuilder(Filter*);
@@ -69,6 +74,7 @@ private:
// The value is a list, which contains those filter effects,
// which depends on the key filter effect.
HashMap<RefPtr<FilterEffect>, FilterEffectSet> m_effectReferences;
+ HashMap<RenderObject*, FilterEffect*> m_effectRenderer;
RefPtr<FilterEffect> m_lastEffect;
};