Index: Source/core/rendering/svg/SVGRenderSupport.cpp |
diff --git a/Source/core/rendering/svg/SVGRenderSupport.cpp b/Source/core/rendering/svg/SVGRenderSupport.cpp |
index f5b9c4d64cce15be5ce9aba4654e1d30e228d43f..fe96868135c5ca7610b3291a3398d29df53d24d7 100644 |
--- a/Source/core/rendering/svg/SVGRenderSupport.cpp |
+++ b/Source/core/rendering/svg/SVGRenderSupport.cpp |
@@ -100,16 +100,22 @@ const RenderObject* SVGRenderSupport::pushMappingToContainer(const RenderObject* |
return parent; |
} |
-bool SVGRenderSupport::checkForSVGRepaintDuringLayout(RenderObject* object) |
+bool SVGRenderSupport::parentTransformDidChange(RenderObject* object) |
{ |
- if (!object->checkForRepaintDuringLayout()) |
- return false; |
// When a parent container is transformed in SVG, all children will be painted automatically |
// so we are able to skip redundant repaint checks. |
RenderObject* parent = object->parent(); |
return !(parent && parent->isSVGContainer() && toRenderSVGContainer(parent)->didTransformToRootUpdate()); |
} |
+bool SVGRenderSupport::checkForSVGRepaintDuringLayout(RenderObject* object) |
+{ |
+ if (!object->checkForRepaintDuringLayout()) |
+ return false; |
+ |
+ return parentTransformDidChange(object); |
+} |
+ |
// Update a bounding box taking into account the validity of the other bounding box. |
inline void SVGRenderSupport::updateObjectBoundingBox(FloatRect& objectBoundingBox, bool& objectBoundingBoxValid, RenderObject* other, FloatRect otherBoundingBox) |
{ |