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

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

Issue 1411463004: Allow local root FrameView to be throttled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years 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 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after
2365 2365
2366 void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases) 2366 void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases)
2367 { 2367 {
2368 // This must be called from the root frame, since it recurses down, not up. 2368 // This must be called from the root frame, since it recurses down, not up.
2369 // Otherwise the lifecycles of the frames might be out of sync. 2369 // Otherwise the lifecycles of the frames might be out of sync.
2370 ASSERT(m_frame->isLocalRoot()); 2370 ASSERT(m_frame->isLocalRoot());
2371 2371
2372 // Updating layout can run script, which can tear down the FrameView. 2372 // Updating layout can run script, which can tear down the FrameView.
2373 RefPtrWillBeRawPtr<FrameView> protector(this); 2373 RefPtrWillBeRawPtr<FrameView> protector(this);
2374 2374
2375 if (shouldThrottleRendering()) {
2376 updateViewportIntersectionsForSubtree();
2377 return;
2378 }
2379
2375 updateStyleAndLayoutIfNeededRecursive(); 2380 updateStyleAndLayoutIfNeededRecursive();
2376 ASSERT(lifecycle().state() >= DocumentLifecycle::LayoutClean); 2381 ASSERT(lifecycle().state() >= DocumentLifecycle::LayoutClean);
2377 2382
2378 if (phases == OnlyUpToLayoutClean) { 2383 if (phases == OnlyUpToLayoutClean) {
2379 updateViewportIntersectionsForSubtree(); 2384 updateViewportIntersectionsForSubtree();
2380 return; 2385 return;
2381 } 2386 }
2382 2387
2383 if (LayoutView* view = layoutView()) { 2388 if (LayoutView* view = layoutView()) {
2384 { 2389 {
(...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after
3985 return m_hiddenForThrottling && m_crossOriginForThrottling; 3990 return m_hiddenForThrottling && m_crossOriginForThrottling;
3986 } 3991 }
3987 3992
3988 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 3993 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
3989 { 3994 {
3990 ASSERT(layoutView()); 3995 ASSERT(layoutView());
3991 return *layoutView(); 3996 return *layoutView();
3992 } 3997 }
3993 3998
3994 } // namespace blink 3999 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698