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

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

Issue 14741004: NOT FOR REVIEW - Update comp-scrolling state at a well defined point in the pipeline. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added annotations describing how this patch will be split. Created 7 years, 7 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
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 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 applyOverflowToViewport(rootRenderer, hMode, vMode); 703 applyOverflowToViewport(rootRenderer, hMode, vMode);
704 } 704 }
705 } 705 }
706 706
707 void FrameView::updateCompositingLayersAfterStyleChange() 707 void FrameView::updateCompositingLayersAfterStyleChange()
708 { 708 {
709 RenderView* renderView = this->renderView(); 709 RenderView* renderView = this->renderView();
710 if (!renderView) 710 if (!renderView)
711 return; 711 return;
712 712
713 // PATCH 2
714 // Catch promotions due to style changes (e.g., z-order changes).
715 renderView->compositor()->updateCompositingRequirementsState(CompositingUpda teAfterStyleChange);
716
713 // If we expect to update compositing after an incipient layout, don't do so here. 717 // If we expect to update compositing after an incipient layout, don't do so here.
714 if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayou t()) 718 if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayou t())
715 return; 719 return;
716 720
717 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 721 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
718 renderView->compositor()->cacheAcceleratedCompositingFlags(); 722 renderView->compositor()->cacheAcceleratedCompositingFlags();
719 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterStyl eChange); 723 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterStyl eChange);
720 } 724 }
721 725
722 void FrameView::updateCompositingLayersAfterLayout() 726 void FrameView::updateCompositingLayersAfterLayout()
723 { 727 {
724 RenderView* renderView = this->renderView(); 728 RenderView* renderView = this->renderView();
725 if (!renderView) 729 if (!renderView)
726 return; 730 return;
727 731
728 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 732 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
729 renderView->compositor()->cacheAcceleratedCompositingFlags(); 733 renderView->compositor()->cacheAcceleratedCompositingFlags();
734 // PATCH 2
735 // Catch promotions due to layout changes (e.g., content now overflows).
736 renderView->compositor()->updateCompositingRequirementsState(CompositingUpda teAfterLayout);
730 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayo ut); 737 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayo ut);
731 } 738 }
732 739
733 bool FrameView::usesCompositedScrolling() const 740 bool FrameView::usesCompositedScrolling() const
734 { 741 {
735 RenderView* renderView = this->renderView(); 742 RenderView* renderView = this->renderView();
736 if (!renderView) 743 if (!renderView)
737 return false; 744 return false;
738 if (m_frame->settings() && m_frame->settings()->compositedScrollingForFrames Enabled()) 745 if (m_frame->settings() && m_frame->settings()->compositedScrollingForFrames Enabled())
739 return renderView->compositor()->inForcedCompositingMode(); 746 return renderView->compositor()->inForcedCompositingMode();
(...skipping 2798 matching lines...) Expand 10 before | Expand all | Expand 10 after
3538 } 3545 }
3539 3546
3540 AXObjectCache* FrameView::axObjectCache() const 3547 AXObjectCache* FrameView::axObjectCache() const
3541 { 3548 {
3542 if (frame() && frame()->document()) 3549 if (frame() && frame()->document())
3543 return frame()->document()->existingAXObjectCache(); 3550 return frame()->document()->existingAXObjectCache();
3544 return 0; 3551 return 0;
3545 } 3552 }
3546 3553
3547 } // namespace WebCore 3554 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698