| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 759b8287c0db8ba5aa3c105fed93b33ba52eaac9..4bb1a9269d1804bc20db1ce51fa2ea7f888a0d57 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -1727,15 +1727,18 @@ void LayoutObject::setStyle(PassRefPtr<ComputedStyle> style) {
|
|
|
| // Text nodes share style with their parents but the paint properties don't
|
| // apply to them, hence the !isText() check.
|
| - if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() &&
|
| - diff.needsPaintPropertyUpdate() && !isText()) {
|
| + if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && !isText() &&
|
| + (diff.transformChanged() || diff.opacityChanged() ||
|
| + diff.zIndexChanged() || diff.filterChanged() ||
|
| + diff.backdropFilterChanged() || diff.cssClipChanged())) {
|
| setNeedsPaintPropertyUpdate();
|
|
|
| // We don't need to invalidate paint of objects on SPv2 when only paint
|
| // property or paint order change. Mark the painting layer needing repaint
|
| // for changed paint property or paint order. Raster invalidation will be
|
| // issued if needed during paint.
|
| - if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
|
| + if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() &&
|
| + !shouldDoFullPaintInvalidation())
|
| ObjectPaintInvalidator(*this).slowSetPaintingLayerNeedsRepaint();
|
| }
|
| }
|
|
|