Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
index 445c595b44494fdbe577d5a7e7666be82f5e91ef..c06d8c0d544281d1624a6a0a227ebb9e544c9e27 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
@@ -929,11 +929,6 @@ void PaintPropertyTreeBuilder::updateContextForBoxPosition( |
-toLayoutBox(parentRow)->physicalLocation()); |
} |
} |
- |
- // Many paint properties depend on paint offset so we force an update of |
- // the entire subtree on paint offset changes. |
- if (object.paintOffset() != context.current.paintOffset) |
- context.forceSubtreeUpdate = true; |
} |
void PaintPropertyTreeBuilder::updatePropertiesForSelf( |
@@ -943,6 +938,8 @@ void PaintPropertyTreeBuilder::updatePropertiesForSelf( |
FindObjectPropertiesNeedingUpdateScope checkNeedsUpdateScope(object, context); |
#endif |
+ updateContextForBoxPosition(object, context); |
+ |
if (object.isBoxModelObject() || object.isSVG()) { |
updatePaintOffsetTranslation(object, context); |
updateTransform(object, context); |
@@ -954,9 +951,12 @@ void PaintPropertyTreeBuilder::updatePropertiesForSelf( |
updateScrollbarPaintOffset(object, context); |
} |
- if (object.needsPaintPropertyUpdate() || context.forceSubtreeUpdate) { |
- if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && |
- object.paintOffset() != context.current.paintOffset) { |
+ if (object.paintOffset() != context.current.paintOffset) { |
+ // Many paint properties depend on paint offset so we force an update of |
+ // the entire subtree on paint offset changes. |
+ context.forceSubtreeUpdate = true; |
+ |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
object.getMutableForPainting().setShouldDoFullPaintInvalidation( |
PaintInvalidationLocationChange); |
} |