Chromium Code Reviews| 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 a093214a08042650d511df00983008f1384d1dde..73e46ef079b3e8890b8f4b33f367668f1d743ad3 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp |
| @@ -502,6 +502,22 @@ void PaintInvalidator::InvalidatePaintIfNeeded( |
| context.forced_subtree_invalidation_flags |= |
| PaintInvalidatorContext::kForcedSubtreeVisualRectUpdate; |
| } |
| + |
| + bool usesCompositedScrolling = false; |
|
chrishtr
2017/04/13 02:05:59
FYI this code re-adds the logic removed in
https:/
|
| + if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && |
| + object.IsBoxModelObject() && |
| + ToLayoutBoxModelObject(object).UsesCompositedScrolling()) |
| + usesCompositedScrolling = true; |
| + if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && |
| + context.old_visual_rect != object.VisualRect() && |
| + !usesCompositedScrolling |
| + // Note that isLayoutView() below becomes unnecessary after the launch of |
| + // root layer scrolling. |
| + && (object.HasOverflowClip() || object.IsLayoutView())) { |
| + // Changes to clipping may affect any descendant. |
| + context.forced_subtree_invalidation_flags |= |
| + PaintInvalidatorContext::kForcedSubtreeVisualRectUpdate; |
| + } |
| } |
| void PaintInvalidator::ProcessPendingDelayedPaintInvalidations() { |