Index: Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
diff --git a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
index c0366122d6e3f407adbbaca50e2da5219130eac7..8b46803e094506c34d4b7c6286ce423f1d943d8e 100644 |
--- a/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
+++ b/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
@@ -165,7 +165,12 @@ void LayoutSVGResourceContainer::markClientForInvalidation(LayoutObject* client, |
client->setNeedsBoundariesUpdate(); |
break; |
case PaintInvalidation: |
- client->setShouldDoFullPaintInvalidation(); |
+ // Since LayoutSVGInlineTexts don't have SVGResources (they use their |
+ // parent's), they will not be notified of changes to paint servers. So |
+ // if the client is one that could have a LayoutSVGInlineText use a |
+ // paint invalidation reason that will force paint invalidation of the |
+ // entire <text>/<tspan>/... subtree. |
+ client->setShouldDoFullPaintInvalidation(PaintInvalidationSVGResourceChange); |
break; |
case ParentOnlyInvalidation: |
break; |