Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index 67a44ea7569a54490a7d2a1c5e0c34ab9663fd29..c1373b3df9f8d9c3731bdca9505abd5768107493 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -2454,26 +2454,29 @@ void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases) |
ASSERT(lifecycle().state() >= DocumentLifecycle::CompositingClean); |
- if (phases == AllPhases) { |
- invalidateTreeIfNeededRecursive(); |
- |
- if (view->compositor()->inCompositingMode()) |
- scrollingCoordinator()->updateAfterCompositingChangeIfNeeded(); |
+ if (phases == OnlyUpToCompositingCleanPlusScrolling) |
+ return; |
- updateCompositedSelectionIfNeeded(); |
+ invalidateTreeIfNeededRecursive(); |
- if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
- paintForSlimmingPaintV2(); |
- compositeForSlimmingPaintV2(); |
- } |
+ if (view->compositor()->inCompositingMode()) |
+ scrollingCoordinator()->updateAfterCompositingChangeIfNeeded(); |
- if (RuntimeEnabledFeatures::frameTimingSupportEnabled()) |
- updateFrameTimingRequestsIfNeeded(); |
+ updateCompositedSelectionIfNeeded(); |
- ASSERT(!view->hasPendingSelection()); |
- ASSERT(lifecycle().state() == DocumentLifecycle::PaintInvalidationClean |
- || (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && lifecycle().state() == DocumentLifecycle::CompositingForSlimmingPaintV2Clean)); |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
+ paintForSlimmingPaintV2(); |
+ if (phases == OnlyUpToPaintForSlimmingPaintV2Clean) |
+ return; |
+ compositeForSlimmingPaintV2(); |
} |
+ |
+ if (RuntimeEnabledFeatures::frameTimingSupportEnabled()) |
+ updateFrameTimingRequestsIfNeeded(); |
+ |
+ ASSERT(!view->hasPendingSelection()); |
+ ASSERT(lifecycle().state() == DocumentLifecycle::PaintInvalidationClean |
+ || (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && lifecycle().state() == DocumentLifecycle::CompositingForSlimmingPaintV2Clean)); |
} |
} |