Index: third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
index 98c7ff587eb23bc5538ef96a84bd6831d0211b32..11516baa8d041a5010ee940d57327f4dedd6ef19 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
@@ -53,12 +53,17 @@ static LayoutRect mapLocalRectToPaintInvalidationBacking(GeometryMapper& geometr |
} else if (object == context.paintInvalidationContainer) { |
result = LayoutRect(rect); |
} else { |
+ rect.moveBy(FloatPoint(context.treeBuilderContext.current.paintOffset)); |
+ |
+ // In SPv2, visual rects are in the space of their local transform node. |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
+ return LayoutRect(rect); |
+ |
GeometryPropertyTreeState currentTreeState(context.treeBuilderContext.current.transform, context.treeBuilderContext.current.clip, context.treeBuilderContext.currentEffect); |
GeometryPropertyTreeState containerTreeState; |
const ObjectPaintProperties* containerPaintProperties = context.paintInvalidationContainer->objectPaintProperties(); |
containerPaintProperties->getContentsProperties(containerTreeState); |
- rect.moveBy(FloatPoint(context.treeBuilderContext.current.paintOffset)); |
bool success = false; |
result = LayoutRect(geometryMapper.mapToVisualRectInDestinationSpace(rect, currentTreeState, containerTreeState, success)); |
DCHECK(success); |