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

Side by Side Diff: Source/core/page/FrameView.cpp

Issue 22880008: Instrument performPostLayoutTasks and updateCompositingLayers* (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 RenderObject* o = rootRenderer->style()->overflowX() == OVISIBLE && isHTMLHtmlElement(document->documentElement()) ? body->renderer() : rootRend erer; 669 RenderObject* o = rootRenderer->style()->overflowX() == OVISIBLE && isHTMLHtmlElement(document->documentElement()) ? body->renderer() : rootRend erer;
670 applyOverflowToViewport(o, hMode, vMode); 670 applyOverflowToViewport(o, hMode, vMode);
671 } 671 }
672 } else if (rootRenderer) 672 } else if (rootRenderer)
673 applyOverflowToViewport(rootRenderer, hMode, vMode); 673 applyOverflowToViewport(rootRenderer, hMode, vMode);
674 } 674 }
675 } 675 }
676 676
677 void FrameView::updateCompositingLayersAfterStyleChange() 677 void FrameView::updateCompositingLayersAfterStyleChange()
678 { 678 {
679 TRACE_EVENT0("webkit", "FrameView::updateCompositingLayersAfterStyleChange") ;
679 RenderView* renderView = this->renderView(); 680 RenderView* renderView = this->renderView();
680 if (!renderView) 681 if (!renderView)
681 return; 682 return;
682 683
683 // If we expect to update compositing after an incipient layout, don't do so here. 684 // If we expect to update compositing after an incipient layout, don't do so here.
684 if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayou t()) 685 if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayou t())
685 return; 686 return;
686 687
687 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 688 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
688 renderView->compositor()->cacheAcceleratedCompositingFlags(); 689 renderView->compositor()->cacheAcceleratedCompositingFlags();
689 690
690 // Sometimes we will change a property (for example, z-index) that will not 691 // Sometimes we will change a property (for example, z-index) that will not
691 // cause a layout, but will require us to update compositing state. We only 692 // cause a layout, but will require us to update compositing state. We only
692 // need to do this if a layout is not already scheduled. 693 // need to do this if a layout is not already scheduled.
693 if (!needsLayout()) 694 if (!needsLayout())
694 renderView->compositor()->updateCompositingRequirementsState(); 695 renderView->compositor()->updateCompositingRequirementsState();
695 696
696 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterStyl eChange); 697 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterStyl eChange);
697 } 698 }
698 699
699 void FrameView::updateCompositingLayersAfterLayout() 700 void FrameView::updateCompositingLayersAfterLayout()
700 { 701 {
702 TRACE_EVENT0("webkit", "FrameView::updateCompositingLayersAfterLayout");
701 RenderView* renderView = this->renderView(); 703 RenderView* renderView = this->renderView();
702 if (!renderView) 704 if (!renderView)
703 return; 705 return;
704 706
705 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 707 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
706 renderView->compositor()->cacheAcceleratedCompositingFlags(); 708 renderView->compositor()->cacheAcceleratedCompositingFlags();
707 renderView->compositor()->updateCompositingRequirementsState(); 709 renderView->compositor()->updateCompositingRequirementsState();
708 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayo ut); 710 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayo ut);
709 } 711 }
710 712
(...skipping 1430 matching lines...) Expand 10 before | Expand all | Expand 10 after
2141 void FrameView::flushAnyPendingPostLayoutTasks() 2143 void FrameView::flushAnyPendingPostLayoutTasks()
2142 { 2144 {
2143 if (!m_postLayoutTasksTimer.isActive()) 2145 if (!m_postLayoutTasksTimer.isActive())
2144 return; 2146 return;
2145 2147
2146 performPostLayoutTasks(); 2148 performPostLayoutTasks();
2147 } 2149 }
2148 2150
2149 void FrameView::performPostLayoutTasks() 2151 void FrameView::performPostLayoutTasks()
2150 { 2152 {
2153 TRACE_EVENT0("webkit", "FrameView::performPostLayoutTasks");
2151 // updateWidgets() call below can blow us away from underneath. 2154 // updateWidgets() call below can blow us away from underneath.
2152 RefPtr<FrameView> protect(this); 2155 RefPtr<FrameView> protect(this);
2153 2156
2154 m_postLayoutTasksTimer.stop(); 2157 m_postLayoutTasksTimer.stop();
2155 2158
2156 m_frame->selection()->setCaretRectNeedsUpdate(); 2159 m_frame->selection()->setCaretRectNeedsUpdate();
2157 m_frame->selection()->updateAppearance(); 2160 m_frame->selection()->updateAppearance();
2158 2161
2159 LayoutMilestones milestonesOfInterest = 0; 2162 LayoutMilestones milestonesOfInterest = 0;
2160 LayoutMilestones milestonesAchieved = 0; 2163 LayoutMilestones milestonesAchieved = 0;
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after
3326 } 3329 }
3327 3330
3328 AXObjectCache* FrameView::axObjectCache() const 3331 AXObjectCache* FrameView::axObjectCache() const
3329 { 3332 {
3330 if (frame() && frame()->document()) 3333 if (frame() && frame()->document())
3331 return frame()->document()->existingAXObjectCache(); 3334 return frame()->document()->existingAXObjectCache();
3332 return 0; 3335 return 0;
3333 } 3336 }
3334 3337
3335 } // namespace WebCore 3338 } // namespace WebCore
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698