Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 1909033003: Add FrameView::updateAllLifecyclePhasesExceptPaint and use it in a few cases. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 2365 matching lines...) Expand 10 before | Expand all | Expand 10 after
2376 { 2376 {
2377 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(AllPhases); 2377 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(AllPhases);
2378 } 2378 }
2379 2379
2380 // TODO(chrishtr): add a scrolling update lifecycle phase. 2380 // TODO(chrishtr): add a scrolling update lifecycle phase.
2381 void FrameView::updateLifecycleToCompositingCleanPlusScrolling() 2381 void FrameView::updateLifecycleToCompositingCleanPlusScrolling()
2382 { 2382 {
2383 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(OnlyUpToComp ositingCleanPlusScrolling); 2383 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(OnlyUpToComp ositingCleanPlusScrolling);
2384 } 2384 }
2385 2385
2386 void FrameView::updateAllLifecyclePhasesExceptPaint()
2387 {
2388 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(AllPhasesExc eptPaint);
2389 }
2390
2386 void FrameView::updateLifecycleToLayoutClean() 2391 void FrameView::updateLifecycleToLayoutClean()
2387 { 2392 {
2388 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(OnlyUpToLayo utClean); 2393 frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(OnlyUpToLayo utClean);
2389 } 2394 }
2390 2395
2391 void FrameView::scheduleVisualUpdateForPaintInvalidationIfNeeded() 2396 void FrameView::scheduleVisualUpdateForPaintInvalidationIfNeeded()
2392 { 2397 {
2393 LocalFrame* localFrameRoot = frame().localFrameRoot(); 2398 LocalFrame* localFrameRoot = frame().localFrameRoot();
2394 if (!localFrameRoot->view()->m_isUpdatingAllLifecyclePhases || lifecycle().s tate() >= DocumentLifecycle::PaintInvalidationClean) { 2399 if (!localFrameRoot->view()->m_isUpdatingAllLifecyclePhases || lifecycle().s tate() >= DocumentLifecycle::PaintInvalidationClean) {
2395 // Schedule visual update to process the paint invalidation in the next cycle. 2400 // Schedule visual update to process the paint invalidation in the next cycle.
(...skipping 30 matching lines...) Expand all
2426 { 2431 {
2427 TRACE_EVENT1("devtools.timeline", "UpdateLayerTree", "data", Inspect orUpdateLayerTreeEvent::data(m_frame.get())); 2432 TRACE_EVENT1("devtools.timeline", "UpdateLayerTree", "data", Inspect orUpdateLayerTreeEvent::data(m_frame.get()));
2428 2433
2429 // This was required for slimming paint v1 but is only temporarily 2434 // This was required for slimming paint v1 but is only temporarily
2430 // needed for slimming paint v2. 2435 // needed for slimming paint v2.
2431 view.compositor()->updateIfNeededRecursive(); 2436 view.compositor()->updateIfNeededRecursive();
2432 scrollContentsIfNeededRecursive(); 2437 scrollContentsIfNeededRecursive();
2433 2438
2434 ASSERT(lifecycle().state() >= DocumentLifecycle::CompositingClean); 2439 ASSERT(lifecycle().state() >= DocumentLifecycle::CompositingClean);
2435 2440
2436 if (phases == AllPhases) { 2441 if (phases == AllPhases || phases == AllPhasesExceptPaint) {
2437 invalidateTreeIfNeededRecursive(); 2442 invalidateTreeIfNeededRecursive();
2438 2443
2439 if (view.compositor()->inCompositingMode()) 2444 if (view.compositor()->inCompositingMode())
2440 scrollingCoordinator()->updateAfterCompositingChangeIfNeeded (); 2445 scrollingCoordinator()->updateAfterCompositingChangeIfNeeded ();
2441 2446
2442 updateCompositedSelectionIfNeeded(); 2447 updateCompositedSelectionIfNeeded();
2443 } 2448 }
2444 } 2449 }
2445 2450
2446 if (phases == AllPhases) { 2451 if (phases == AllPhases || phases == AllPhasesExceptPaint) {
2447 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2452 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2448 updatePaintProperties(); 2453 updatePaintProperties();
2454 }
2449 2455
2456 if (phases == AllPhases) {
2450 if (!m_frame->document()->printing()) 2457 if (!m_frame->document()->printing())
2451 synchronizedPaint(); 2458 synchronizedPaint();
2452 2459
2453 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2460 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2454 pushPaintArtifactToCompositor(); 2461 pushPaintArtifactToCompositor();
2455 2462
2456 ASSERT(!view.hasPendingSelection()); 2463 ASSERT(!view.hasPendingSelection());
2457 ASSERT((m_frame->document()->printing() && lifecycle().state() == Do cumentLifecycle::PaintInvalidationClean) 2464 ASSERT((m_frame->document()->printing() && lifecycle().state() == Do cumentLifecycle::PaintInvalidationClean)
2458 || lifecycle().state() == DocumentLifecycle::PaintClean); 2465 || lifecycle().state() == DocumentLifecycle::PaintClean);
2459 } 2466 }
(...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after
4060 return m_hiddenForThrottling && m_crossOriginForThrottling; 4067 return m_hiddenForThrottling && m_crossOriginForThrottling;
4061 } 4068 }
4062 4069
4063 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4070 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4064 { 4071 {
4065 ASSERT(layoutView()); 4072 ASSERT(layoutView());
4066 return *layoutView(); 4073 return *layoutView();
4067 } 4074 }
4068 4075
4069 } // namespace blink 4076 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698