| Index: third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
|
| index 5e9e11c7bdf9c8dbfd5f116d04963ba18d66f48c..fea5bed7c64d6a304317ce40922900521ff5265e 100644
|
| --- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
|
| @@ -197,12 +197,18 @@ bool DocumentLifecycle::canAdvanceTo(LifecycleState nextState) const
|
| return true;
|
| if (nextState == InCompositingUpdate)
|
| return true;
|
| - if (nextState == InPaintInvalidation)
|
| + if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) {
|
| + if (nextState == InUpdatePaintProperties)
|
| + return true;
|
| + } else if (nextState == InPaintInvalidation) {
|
| return true;
|
| + }
|
| break;
|
| case InPaintInvalidation:
|
| + ASSERT(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
|
| return nextState == PaintInvalidationClean;
|
| case PaintInvalidationClean:
|
| + ASSERT(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
|
| if (nextState == InStyleRecalc)
|
| return true;
|
| if (nextState == InPreLayout)
|
| @@ -217,11 +223,11 @@ bool DocumentLifecycle::canAdvanceTo(LifecycleState nextState) const
|
| }
|
| break;
|
| case InUpdatePaintProperties:
|
| - if (nextState == UpdatePaintPropertiesClean && RuntimeEnabledFeatures::slimmingPaintV2Enabled())
|
| + if (nextState == UpdatePaintPropertiesClean && (RuntimeEnabledFeatures::slimmingPaintV2Enabled() || RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()))
|
| return true;
|
| break;
|
| case UpdatePaintPropertiesClean:
|
| - if (nextState == InPaint && RuntimeEnabledFeatures::slimmingPaintV2Enabled())
|
| + if (nextState == InPaint && (RuntimeEnabledFeatures::slimmingPaintV2Enabled() || RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()))
|
| return true;
|
| break;
|
| case InPaint:
|
|
|