Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/FrameView.cpp |
| diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp |
| index a7254f82cf1954e4841113cd7d203798305245b5..e2e86bfcd2324959f1455d367aa0d10718987026 100644 |
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
| @@ -2920,6 +2920,14 @@ void FrameView::UpdateLifecycleToCompositingCleanPlusScrolling() { |
| } |
| } |
| +void FrameView::UpdateLifecycleToCompositingInputsClean() { |
| + // TODO(smcgruer): DCHECK !RuntimeEnabledFeatures::slimmingPaintV2Enabled() ? |
|
flackr
2017/04/11 20:46:28
This is never called with slimming paint V2? Are t
smcgruer
2017/04/12 15:33:04
This should never be called with spv2, as the enti
flackr
2017/04/12 15:50:15
Acknowledged.
|
| + if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
| + GetFrame().LocalFrameRoot()->View()->UpdateLifecyclePhasesInternal( |
| + DocumentLifecycle::kCompositingInputsClean); |
| + } |
| +} |
| + |
| void FrameView::UpdateAllLifecyclePhasesExceptPaint() { |
| GetFrame().LocalFrameRoot()->View()->UpdateLifecyclePhasesInternal( |
| DocumentLifecycle::kPrePaintClean); |
| @@ -3021,6 +3029,7 @@ void FrameView::UpdateLifecyclePhasesInternal( |
| // Only the following target states are supported. |
| DCHECK(target_state == DocumentLifecycle::kLayoutClean || |
| + target_state == DocumentLifecycle::kCompositingInputsClean || |
| target_state == DocumentLifecycle::kCompositingClean || |
| target_state == DocumentLifecycle::kPrePaintClean || |
| target_state == DocumentLifecycle::kPaintClean); |
| @@ -3070,7 +3079,7 @@ void FrameView::UpdateLifecyclePhasesInternal( |
| InspectorUpdateLayerTreeEvent::Data(frame_.Get())); |
| if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
| - view.Compositor()->UpdateIfNeededRecursive(); |
| + view.Compositor()->UpdateIfNeededRecursive(target_state); |
| } else { |
| ForAllNonThrottledFrameViews([](FrameView& frame_view) { |
| frame_view.GetLayoutView()->Layer()->UpdateDescendantDependentFlags(); |
| @@ -3078,6 +3087,12 @@ void FrameView::UpdateLifecyclePhasesInternal( |
| }); |
| } |
| + if (target_state == DocumentLifecycle::kCompositingInputsClean) { |
| + DCHECK_EQ(Lifecycle().GetState(), |
| + DocumentLifecycle::kCompositingInputsClean); |
| + return; |
| + } |
| + |
| ScrollContentsIfNeededRecursive(); |
| DCHECK(RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() || |
| Lifecycle().GetState() >= DocumentLifecycle::kCompositingClean); |