Index: Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
diff --git a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
index 49f9c02bc841d1c3b2d773d35c81165cbe7e0d74..bb65af88461ff530c4a8bf482a350ff15e953fac 100644 |
--- a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
+++ b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
@@ -223,6 +223,13 @@ void LayoutSVGResourceContainer::registerResource() |
if (!layoutObject) |
continue; |
+ // If the client has a layer (is a non-SVGElement) we need to signal |
+ // invalidation in the same way as is done in markAllClientLayersForInvalidation above. |
+ if (layoutObject->hasLayer() && resourceType() == FilterResourceType) { |
+ toLayoutBoxModelObject(layoutObject)->layer()->filterNeedsPaintInvalidation(); |
+ continue; |
+ } |
+ |
StyleDifference diff; |
diff.setNeedsFullLayout(); |
SVGResourcesCache::clientStyleChanged(layoutObject, diff, layoutObject->styleRef()); |