Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
index e38213371248aeb190ceca6a1f18ace6a0ba39c5..d11e198b3f96d032205c829a741e0b5f02a1c96c 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
@@ -502,24 +502,26 @@ void LayoutSVGText::removeChild(LayoutObject* child) |
subtreeChildWasRemoved(affectedAttributes); |
} |
-void LayoutSVGText::invalidateTreeIfNeeded(PaintInvalidationState& paintInvalidationState) |
+void LayoutSVGText::invalidateTreeIfNeeded(const PaintInvalidationState& paintInvalidationState) |
{ |
ASSERT(!needsLayout()); |
if (!shouldCheckForPaintInvalidation(paintInvalidationState)) |
return; |
- PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paintInvalidationContainer()); |
- clearPaintInvalidationState(paintInvalidationState); |
+ PaintInvalidationState newPaintInvalidationState(paintInvalidationState, *this); |
+ PaintInvalidationReason reason = invalidatePaintIfNeeded(newPaintInvalidationState); |
+ clearPaintInvalidationFlags(newPaintInvalidationState); |
if (reason == PaintInvalidationDelayedFull) |
paintInvalidationState.pushDelayedPaintInvalidationTarget(*this); |
- ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); |
- PaintInvalidationState childTreeWalkState(paintInvalidationState, *this, paintInvalidationState.paintInvalidationContainer()); |
+ ForceHorriblySlowRectMapping slowRectMapping(&newPaintInvalidationState); |
if (reason == PaintInvalidationSVGResourceChange) |
- childTreeWalkState.setForceSubtreeInvalidationWithinContainer(); |
- invalidatePaintOfSubtreesIfNeeded(childTreeWalkState); |
+ newPaintInvalidationState.setForceSubtreeInvalidationWithinContainer(); |
+ |
+ newPaintInvalidationState.updatePaintOffsetAndClipForChildren(); |
+ invalidatePaintOfSubtreesIfNeeded(newPaintInvalidationState); |
} |
} // namespace blink |