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

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

Issue 2198853002: Draw main frame custom scrollbars in root layer scrolling mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed review comments Created 4 years, 3 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 2661 matching lines...) Expand 10 before | Expand all | Expand 10 after
2672 LayoutViewItem view = layoutViewItem(); 2672 LayoutViewItem view = layoutViewItem();
2673 ASSERT(!view.isNull()); 2673 ASSERT(!view.isNull());
2674 forAllNonThrottledFrameViews([](FrameView& frameView) { frameView.lifecycle( ).advanceTo(DocumentLifecycle::InPaint); }); 2674 forAllNonThrottledFrameViews([](FrameView& frameView) { frameView.lifecycle( ).advanceTo(DocumentLifecycle::InPaint); });
2675 2675
2676 // A null graphics layer can occur for painting of SVG images that are not p arented into the main frame tree, 2676 // A null graphics layer can occur for painting of SVG images that are not p arented into the main frame tree,
2677 // or when the FrameView is the main frame view of a page overlay. The page overlay is in the layer tree of 2677 // or when the FrameView is the main frame view of a page overlay. The page overlay is in the layer tree of
2678 // the host page and will be painted during synchronized painting of the hos t page. 2678 // the host page and will be painted during synchronized painting of the hos t page.
2679 if (GraphicsLayer* rootGraphicsLayer = view.compositor()->rootGraphicsLayer( )) { 2679 if (GraphicsLayer* rootGraphicsLayer = view.compositor()->rootGraphicsLayer( )) {
2680 synchronizedPaintRecursively(rootGraphicsLayer); 2680 synchronizedPaintRecursively(rootGraphicsLayer);
2681 } 2681 }
2682 if (GraphicsLayer* layerForHorizontalScrollbar = view.compositor()->layerFor HorizontalScrollbar()) { 2682
2683 synchronizedPaintRecursively(layerForHorizontalScrollbar); 2683 // TODO(sataya.m):Main frame doesn't create RootFrameViewport in some
2684 } 2684 // webkit_unit_tests (http://crbug.com/607987).
2685 if (GraphicsLayer* layerForVerticalScrollbar = view.compositor()->layerForVe rticalScrollbar()) { 2685 if (m_viewportScrollableArea) {
2686 synchronizedPaintRecursively(layerForVerticalScrollbar); 2686 if (GraphicsLayer* layerForHorizontalScrollbar = m_viewportScrollableAre a->layerForHorizontalScrollbar()) {
2687 } 2687 synchronizedPaintRecursively(layerForHorizontalScrollbar);
2688 if (GraphicsLayer* layerForScrollCorner = view.compositor()->layerForScrollC orner()) { 2688 }
2689 synchronizedPaintRecursively(layerForScrollCorner); 2689 if (GraphicsLayer* layerForVerticalScrollbar = m_viewportScrollableArea- >layerForVerticalScrollbar()) {
2690 synchronizedPaintRecursively(layerForVerticalScrollbar);
2691 }
2692 if (GraphicsLayer* layerForScrollCorner = m_viewportScrollableArea->laye rForScrollCorner()) {
2693 synchronizedPaintRecursively(layerForScrollCorner);
2694 }
2690 } 2695 }
2691 2696
2692 forAllNonThrottledFrameViews([](FrameView& frameView) { 2697 forAllNonThrottledFrameViews([](FrameView& frameView) {
2693 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean); 2698 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean);
2694 LayoutViewItem layoutViewItem = frameView.layoutViewItem(); 2699 LayoutViewItem layoutViewItem = frameView.layoutViewItem();
2695 if (!layoutViewItem.isNull()) 2700 if (!layoutViewItem.isNull())
2696 layoutViewItem.layer()->clearNeedsRepaintRecursively(); 2701 layoutViewItem.layer()->clearNeedsRepaintRecursively();
2697 }); 2702 });
2698 } 2703 }
2699 2704
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after
4322 } 4327 }
4323 4328
4324 bool FrameView::canThrottleRendering() const 4329 bool FrameView::canThrottleRendering() const
4325 { 4330 {
4326 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) 4331 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled())
4327 return false; 4332 return false;
4328 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4333 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4329 } 4334 }
4330 4335
4331 } // namespace blink 4336 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698