diff options
Diffstat (limited to 'WebCore/svg/SVGFEMergeNodeElement.cpp')
-rw-r--r-- | WebCore/svg/SVGFEMergeNodeElement.cpp | 20 |
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); |