diff options
Diffstat (limited to 'WebCore/svg/SVGFEImageElement.cpp')
-rw-r--r-- | WebCore/svg/SVGFEImageElement.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/WebCore/svg/SVGFEImageElement.cpp b/WebCore/svg/SVGFEImageElement.cpp index 84f8734..1f7164f 100644 --- a/WebCore/svg/SVGFEImageElement.cpp +++ b/WebCore/svg/SVGFEImageElement.cpp @@ -29,6 +29,7 @@ #include "DocLoader.h" #include "Document.h" #include "RenderObject.h" +#include "RenderSVGResource.h" #include "SVGLength.h" #include "SVGNames.h" #include "SVGPreserveAspectRatio.h" @@ -107,7 +108,16 @@ void SVGFEImageElement::synchronizeProperty(const QualifiedName& attrName) void SVGFEImageElement::notifyFinished(CachedResource*) { - SVGStyledElement::invalidateResourcesInAncestorChain(); + if (!inDocument()) + return; + + Element* parent = parentElement(); + ASSERT(parent); + + if (!parent->hasTagName(SVGNames::filterTag) || !parent->renderer()) + return; + + RenderSVGResource::markForLayoutAndParentResourceInvalidation(parent->renderer()); } PassRefPtr<FilterEffect> SVGFEImageElement::build(SVGFilterBuilder*) |