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 fb3c6cb78c8784e627960e94620930bb96a59171..8f870a56682267b3570d8fdba7db980bd4da1319 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| @@ -1703,12 +1703,19 @@ void LayoutBox::frameRectChanged() { |
| if (!needsLayout()) |
| setMayNeedPaintInvalidation(); |
| - // The overflow clip paint property depends on the border box rect through |
| - // overflowClipRect(). The border box rect's size equals the frame rect's |
| - // size, so we trigger a paint property update when the framerect changes. |
| - if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && |
| - shouldClipOverflow()) |
| - setNeedsPaintPropertyUpdate(); |
| + if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) { |
| + if (shouldClipOverflow()) { |
| + // The overflow clip paint property depends on the border box rect through |
| + // overflowClipRect(). The border box rect's size equals the frame rect's |
| + // size so we trigger a paint property update when the frame rect changes. |
| + setNeedsPaintPropertyUpdate(); |
| + } else if (styleRef().hasTransform()) { |
| + // The transform paint property's origin depends on the frame rect because |
| + // transform-origin can be sized with lengths relative to the frame rect. |
| + // See: PaintPropertyTreeBuilder::updateTransform(...). |
|
Xianzhu
2016/12/22 17:28:41
Just thought of
1. perspective-origin has the same
|
| + setNeedsPaintPropertyUpdate(); |
| + } |
| + } |
| } |
| bool LayoutBox::intersectsVisibleViewport() const { |