| Index: Source/core/rendering/svg/RenderSVGModelObject.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGModelObject.cpp b/Source/core/rendering/svg/RenderSVGModelObject.cpp
|
| index 6b2e391ece544e86e2cf73f265a52dd6391e07ce..1fb7e660548301b05a962220193673b4ccfe5f94 100644
|
| --- a/Source/core/rendering/svg/RenderSVGModelObject.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGModelObject.cpp
|
| @@ -142,6 +142,13 @@ void RenderSVGModelObject::invalidateTreeAfterLayout(const RenderLayerModelObjec
|
| setPreviousPaintInvalidationRect(clippedOverflowRectForRepaint(&newPaintInvalidationContainer));
|
| setPreviousPositionFromPaintInvalidationContainer(positionFromRepaintContainer(&newPaintInvalidationContainer));
|
|
|
| + // If an ancestor container had its transform changed, then we just
|
| + // need to update the RenderSVGModelObject's repaint rect above. The invalidation
|
| + // will be handled by the container where the transform changed. This essentially
|
| + // means that we prune the entire branch for performance.
|
| + if (!SVGRenderSupport::parentTransformDidChange(this))
|
| + return;
|
| +
|
| // If we are set to do a full paint invalidation that means the RenderView will be
|
| // issue paint invalidations. We can then skip issuing of paint invalidations for the child
|
| // renderers as they'll be covered by the RenderView.
|
|
|