| Index: Source/core/rendering/svg/SVGRenderSupport.cpp | 
| diff --git a/Source/core/rendering/svg/SVGRenderSupport.cpp b/Source/core/rendering/svg/SVGRenderSupport.cpp | 
| index 1e4864989a54d3a64bd413a2b616e0ee71fdd1e6..0e035e8178902805657c7afd2bc25276eee4ea56 100644 | 
| --- a/Source/core/rendering/svg/SVGRenderSupport.cpp | 
| +++ b/Source/core/rendering/svg/SVGRenderSupport.cpp | 
| @@ -242,10 +242,14 @@ void SVGRenderSupport::layoutChildren(RenderObject* start, bool selfNeedsLayout) | 
| } | 
|  | 
| SubtreeLayoutScope layoutScope(child); | 
| -        if (needsLayout) | 
| +        if (needsLayout && !child->isSVGResourceContainer()) | 
| layoutScope.setNeedsLayout(child); | 
|  | 
| if (child->needsLayout()) { | 
| +            // Layout child resources. | 
| +            if (SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(child)) | 
| +                resources->layoutIfNeeded(); | 
| + | 
| child->layout(); | 
| // Renderers are responsible for repainting themselves when changing, except | 
| // for the initial paint to avoid potential double-painting caused by non-sensical "old" bounds. | 
|  |