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..1343647f54d1b5d33a0edfb2581f22a4f691b41d 100644 |
--- a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
+++ b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
@@ -223,6 +223,11 @@ void LayoutSVGResourceContainer::registerResource() |
if (!layoutObject) |
continue; |
+ // If the client is has a layer (is a non-SVGElement) we need to signal |
kouhei (in TOK)
2015/04/08 17:14:41
s/is has/has/
fs
2015/04/08 17:26:04
Done.
|
+ // invalidation in the same way as is done in markAllClientLayersForInvalidation above. |
+ if (layoutObject->hasLayer() && resourceType() == FilterResourceType) |
+ toLayoutBoxModelObject(layoutObject)->layer()->filterNeedsPaintInvalidation(); |
kouhei (in TOK)
2015/04/08 17:14:41
Would it make sense to do a early "continue" here,
fs
2015/04/08 17:26:04
I believe we still want to do the setNeedsLayoutAn
kouhei (in TOK)
2015/04/08 17:28:50
Thanks for the explanation. No strong opinion here
fs
2015/04/08 17:34:16
Hmm, it's quite possible that the "filter update h
fs
2015/04/09 10:21:33
Ended up doing like this suggests, because I concl
|
+ |
StyleDifference diff; |
diff.setNeedsFullLayout(); |
SVGResourcesCache::clientStyleChanged(layoutObject, diff, layoutObject->styleRef()); |