summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGFEMergeNodeElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/svg/SVGFEMergeNodeElement.cpp')
-rw-r--r--WebCore/svg/SVGFEMergeNodeElement.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/WebCore/svg/SVGFEMergeNodeElement.cpp b/WebCore/svg/SVGFEMergeNodeElement.cpp
index 4bd5ac5..ee1ac3a 100644
--- a/WebCore/svg/SVGFEMergeNodeElement.cpp
+++ b/WebCore/svg/SVGFEMergeNodeElement.cpp
@@ -24,6 +24,8 @@
#include "SVGFEMergeNodeElement.h"
#include "Attribute.h"
+#include "RenderSVGResource.h"
+#include "SVGFilterElement.h"
namespace WebCore {
@@ -46,6 +48,24 @@ void SVGFEMergeNodeElement::parseMappedAttribute(Attribute* attr)
SVGElement::parseMappedAttribute(attr);
}
+void SVGFEMergeNodeElement::svgAttributeChanged(const QualifiedName& attrName)
+{
+ SVGElement::svgAttributeChanged(attrName);
+
+ if (attrName != SVGNames::inAttr)
+ return;
+
+ ContainerNode* parentNode = parent();
+ if (!parentNode)
+ return;
+
+ RenderObject* renderer = parentNode->renderer();
+ if (!renderer || !renderer->isSVGResourceFilterPrimitive())
+ return;
+
+ RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
+}
+
void SVGFEMergeNodeElement::synchronizeProperty(const QualifiedName& attrName)
{
SVGElement::synchronizeProperty(attrName);