Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Unified Diff: third_party/WebKit/Source/core/paint/PaintInvalidator.cpp

Issue 2810503002: Only store previous clip rects for PaintLayers that support subsequences. (Closed)
Patch Set: none Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/paint/PaintLayer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/paint/PaintLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698