Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
index 7e6a83c8d26259c90bb7bb975d7e491cda094184..6cf4d08fb880f6175909b08318e6f86c91c4cdf2 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
@@ -151,7 +151,11 @@ void LayoutSVGRoot::layout() |
SVGSVGElement* svg = toSVGSVGElement(node()); |
ASSERT(svg); |
m_isLayoutSizeChanged = needsLayout || (svg->hasRelativeLengths() && oldSize != size()); |
- SVGLayoutSupport::layoutChildren(this, needsLayout || SVGLayoutSupport::filtersForceContainerLayout(this)); |
+ // If any of this root's children need to be laid out, and a filter is |
+ // applied to it, we need to issue paint invalidations for all descendants. |
+ bool forceLayoutOfChildren = needsLayout |
pdr.
2016/04/19 18:14:46
This is a little confusing because the 2nd argumen
|
+ || (normalChildNeedsLayout() && SVGLayoutSupport::hasFilterResource(*this)); |
+ SVGLayoutSupport::layoutChildren(this, forceLayoutOfChildren); |
if (m_needsBoundariesOrTransformUpdate) { |
updateCachedBoundaries(); |