Chromium Code Reviews| 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 d0c904e9c63fda921f0c2b284ff6d27d49e23845..f4abadca4ff06aa89872c24a1c3fb1b0f348ad8c 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| @@ -1471,6 +1471,12 @@ PaintInvalidationReason LayoutBox::invalidatePaintIfNeeded(PaintInvalidationStat |
| if (isFloating()) |
| paintInvalidationState.enclosingSelfPaintingLayer(*this).setNeedsPaintPhaseFloat(); |
| + if (hasBoxDecorationBackground() || (hasOverflowClip() && scrollableArea()->hasOverflowControls())) { |
|
chrishtr
2016/02/01 17:43:49
Why the is this logic the right logic? In particul
Xianzhu
2016/02/01 17:58:39
Added comment:
// We also paint overflow controls
|
| + PaintLayer& layer = paintInvalidationState.enclosingSelfPaintingLayer(*this); |
| + if (layer.layoutObject() != this) |
| + layer.setNeedsPaintPhaseDescendantBlockBackgrounds(); |
| + } |
| + |
| PaintInvalidationReason fullInvalidationReason = fullPaintInvalidationReason(); |
| // If the current paint invalidation reason is PaintInvalidationDelayedFull, then this paint invalidation can delayed if the |
| // LayoutBox in question is not on-screen. The logic to decide whether this is appropriate exists at the site of the original |