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 58c5960c7c4323ca62f196f3b4981854c56be9ef..7b7537fdeefe8c7ce2db5c4924e22909151e6ee6 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| @@ -2284,11 +2284,16 @@ bool LayoutBox::paintedOutputOfObjectHasNoEffectRegardlessOfSize() const { |
| styleRef().hasVisualOverflowingEffect()) |
| return false; |
| - // If the box has clip or mask, we need issue paint invalidation to cover |
| + // Both mask and clip-path generates drawing display items that depends on |
| + // the size of the box. |
|
Xianzhu
2017/03/04 01:15:59
Does this apply to SPv1?
|
| + if (hasMask() || hasClipPath()) |
| + return false; |
| + |
| + // If the box has any kind of clip, 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()) |
| + if (shouldClipOverflow() || hasClip()) |
| return false; |
| } |