| Index: Source/core/rendering/svg/SVGRenderSupport.cpp
|
| diff --git a/Source/core/rendering/svg/SVGRenderSupport.cpp b/Source/core/rendering/svg/SVGRenderSupport.cpp
|
| index cd31aef5a4c6cef225de8e1e003328d1bf195a1e..fb680b93a721dc2f1f803323d3fe3e636caa4761 100644
|
| --- a/Source/core/rendering/svg/SVGRenderSupport.cpp
|
| +++ b/Source/core/rendering/svg/SVGRenderSupport.cpp
|
| @@ -43,7 +43,7 @@
|
|
|
| namespace WebCore {
|
|
|
| -LayoutRect SVGRenderSupport::clippedOverflowRectForRepaint(const RenderObject* object, const RenderLayerModelObject* repaintContainer)
|
| +LayoutRect SVGRenderSupport::clippedOverflowRectForRepaint(const RenderObject* object, const RenderLayerModelObject* repaintContainer, const PaintInvalidationState* paintInvalidationState)
|
| {
|
| // Return early for any cases where we don't actually paint
|
| if (object->style()->visibility() != VISIBLE && !object->enclosingLayer()->hasVisibleContent())
|
| @@ -52,20 +52,20 @@
|
| // Pass our local paint rect to computeRectForRepaint() which will
|
| // map to parent coords and recurse up the parent chain.
|
| FloatRect repaintRect = object->paintInvalidationRectInLocalCoordinates();
|
| - object->computeFloatRectForPaintInvalidation(repaintContainer, repaintRect);
|
| + object->computeFloatRectForPaintInvalidation(repaintContainer, repaintRect, paintInvalidationState);
|
| return enclosingLayoutRect(repaintRect);
|
| }
|
|
|
| -void SVGRenderSupport::computeFloatRectForRepaint(const RenderObject* object, const RenderLayerModelObject* repaintContainer, FloatRect& repaintRect, bool fixed)
|
| +void SVGRenderSupport::computeFloatRectForRepaint(const RenderObject* object, const RenderLayerModelObject* repaintContainer, FloatRect& repaintRect, bool fixed, const PaintInvalidationState* paintInvalidationState)
|
| {
|
| repaintRect.inflate(object->style()->outlineWidth());
|
|
|
| // Translate to coords in our parent renderer, and then call computeFloatRectForPaintInvalidation() on our parent.
|
| repaintRect = object->localToParentTransform().mapRect(repaintRect);
|
| - object->parent()->computeFloatRectForPaintInvalidation(repaintContainer, repaintRect, fixed);
|
| -}
|
| -
|
| -void SVGRenderSupport::mapLocalToContainer(const RenderObject* object, const RenderLayerModelObject* repaintContainer, TransformState& transformState, bool* wasFixed)
|
| + object->parent()->computeFloatRectForPaintInvalidation(repaintContainer, repaintRect, fixed, paintInvalidationState);
|
| +}
|
| +
|
| +void SVGRenderSupport::mapLocalToContainer(const RenderObject* object, const RenderLayerModelObject* repaintContainer, TransformState& transformState, bool* wasFixed, const PaintInvalidationState* paintInvalidationState)
|
| {
|
| transformState.applyTransform(object->localToParentTransform());
|
|
|
| @@ -78,7 +78,7 @@
|
| transformState.applyTransform(toRenderSVGRoot(parent)->localToBorderBoxTransform());
|
|
|
| MapCoordinatesFlags mode = UseTransforms;
|
| - parent->mapLocalToContainer(repaintContainer, transformState, mode, wasFixed);
|
| + parent->mapLocalToContainer(repaintContainer, transformState, mode, wasFixed, paintInvalidationState);
|
| }
|
|
|
| const RenderObject* SVGRenderSupport::pushMappingToContainer(const RenderObject* object, const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap& geometryMap)
|
|
|