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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutBox.cpp

Issue 2457023002: Replace coversExtraPixels with simpler logic (Closed)
Patch Set: Rebaseline Created 4 years, 2 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
Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
index 75a707fdd7240190fe8b00be2c18e0aff9e49715..eacc53ad8e68c5682e8e6777a151cf569e3e7e00 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
@@ -2240,25 +2240,18 @@ bool LayoutBox::needsForcedBreakBefore(EBreak previousBreakAfterValue) const {
}
bool LayoutBox::paintedOutputOfObjectHasNoEffectRegardlessOfSize() const {
- // In case scrollbars got repositioned (which will typically happen if the box
- // got resized), we cannot skip invalidation.
- if (hasNonCompositedScrollbars())
+ if (hasNonCompositedScrollbars() || getSelectionState() != SelectionNone ||
+ hasBoxDecorationBackground() || styleRef().hasBoxDecorations() ||
+ styleRef().hasVisualOverflowingEffect())
return false;
- // Cannot skip paint invalidation if the box has real things to paint.
- if (getSelectionState() != SelectionNone || hasBoxDecorationBackground() ||
- styleRef().hasBoxDecorations() || styleRef().hasVisualOverflowingEffect())
- return false;
-
- // If the box has clip, we need issue a paint invalidation to cover the
- // changed part of children because of change of clip when the box got
- // resized. In theory the children should invalidate themselves when ancestor
- // clip changes, but for now this is missing and ensuring it may hurt
- // performance.
- // TODO(wangxianzhu): Paint invalidation for clip change will be different in
- // spv2.
- if (hasClipRelatedProperty() || hasControlClip())
- return false;
+ // If the box has clip or mask, we need issue paint invalidation to cover
+ // the changed part of children when the box got resized. In SPv2 this is
+ // handled by detecting paint property changes.
+ if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
+ if (hasClipRelatedProperty() || hasControlClip() || hasMask())
+ return false;
+ }
return true;
}

Powered by Google App Engine
This is Rietveld 408576698