| Index: Source/core/frame/FrameView.cpp
|
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
|
| index a73aaf0ee40ba1e0b71b8fe430ffb25bf0596cd5..c534bf3624f88a2e6d691b4df25c90ffc534b9d3 100644
|
| --- a/Source/core/frame/FrameView.cpp
|
| +++ b/Source/core/frame/FrameView.cpp
|
| @@ -2431,22 +2431,16 @@ void FrameView::updateWidgetPositionsIfNeeded()
|
|
|
| void FrameView::updateAllLifecyclePhases()
|
| {
|
| - frame().localFrameRoot()->view()->updateAllLifecyclePhasesInternal();
|
| + frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(AllPhases);
|
| }
|
|
|
| // TODO(chrishtr): add a scrolling update lifecycle phase, after compositing and before invalidation.
|
| void FrameView::updateLifecycleToCompositingCleanPlusScrolling()
|
| {
|
| - frame().localFrameRoot()->view()->updateStyleAndLayoutIfNeededRecursive();
|
| - LayoutView* view = layoutView();
|
| - if (view)
|
| - view->compositor()->updateIfNeededRecursive();
|
| - scrollContentsIfNeededRecursive();
|
| -
|
| - ASSERT(lifecycle().state() >= DocumentLifecycle::CompositingClean);
|
| + frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(OnlyUpToCompositingCleanPlusScrolling);
|
| }
|
|
|
| -void FrameView::updateAllLifecyclePhasesInternal()
|
| +void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases)
|
| {
|
| // This must be called from the root frame, since it recurses down, not up.
|
| // Otherwise the lifecycles of the frames might be out of sync.
|
| @@ -2462,19 +2456,23 @@ void FrameView::updateAllLifecyclePhasesInternal()
|
|
|
| view->compositor()->updateIfNeededRecursive();
|
| scrollContentsIfNeededRecursive();
|
| - invalidateTreeIfNeededRecursive();
|
|
|
| - if (view->compositor()->inCompositingMode())
|
| - scrollingCoordinator()->updateAfterCompositingChangeIfNeeded();
|
| + ASSERT(lifecycle().state() >= DocumentLifecycle::CompositingClean);
|
|
|
| - updateCompositedSelectionIfNeeded();
|
| - if (RuntimeEnabledFeatures::frameTimingSupportEnabled())
|
| - updateFrameTimingRequestsIfNeeded();
|
| + if (phases == AllPhases) {
|
| + invalidateTreeIfNeededRecursive();
|
|
|
| - ASSERT(!view->hasPendingSelection());
|
| - }
|
| + if (view->compositor()->inCompositingMode())
|
| + scrollingCoordinator()->updateAfterCompositingChangeIfNeeded();
|
|
|
| - ASSERT(lifecycle().state() == DocumentLifecycle::PaintInvalidationClean);
|
| + updateCompositedSelectionIfNeeded();
|
| + if (RuntimeEnabledFeatures::frameTimingSupportEnabled())
|
| + updateFrameTimingRequestsIfNeeded();
|
| +
|
| + ASSERT(!view->hasPendingSelection());
|
| + ASSERT(lifecycle().state() == DocumentLifecycle::PaintInvalidationClean);
|
| + }
|
| + }
|
| }
|
|
|
| void FrameView::updateFrameTimingRequestsIfNeeded()
|
|
|