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

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

Issue 2613983002: Rename paint related lifecycle methods of FrameView (Closed)
Patch Set: Rebase on https://codereview.chromium.org/2615713004/ Created 3 years, 11 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 2923 matching lines...) Expand 10 before | Expand all | Expand 10 after
2934 2934
2935 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 2935 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
2936 if (view.compositor()->inCompositingMode()) 2936 if (view.compositor()->inCompositingMode())
2937 scrollingCoordinator()->updateAfterCompositingChangeIfNeeded(); 2937 scrollingCoordinator()->updateAfterCompositingChangeIfNeeded();
2938 } 2938 }
2939 2939
2940 updateCompositedSelectionIfNeeded(); 2940 updateCompositedSelectionIfNeeded();
2941 } 2941 }
2942 } 2942 }
2943 2943
2944 if (targetState >= DocumentLifecycle::PrePaintClean) { 2944 if (targetState >= DocumentLifecycle::PrePaintClean)
2945 updatePaintProperties(); 2945 prePaint();
2946 }
2947 2946
2948 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2947 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2949 DocumentAnimations::updateAnimations(layoutView()->document()); 2948 DocumentAnimations::updateAnimations(layoutView()->document());
2950 2949
2951 if (targetState == DocumentLifecycle::PaintClean) { 2950 if (targetState == DocumentLifecycle::PaintClean) {
2952 if (!m_frame->document()->printing()) 2951 if (!m_frame->document()->printing())
2953 synchronizedPaint(); 2952 paintTree();
2954 2953
2955 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2954 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2956 pushPaintArtifactToCompositor(); 2955 pushPaintArtifactToCompositor();
2957 2956
2958 DCHECK(!view.hasPendingSelection()); 2957 DCHECK(!view.hasPendingSelection());
2959 DCHECK((m_frame->document()->printing() && 2958 DCHECK((m_frame->document()->printing() &&
2960 lifecycle().state() == DocumentLifecycle::PrePaintClean) || 2959 lifecycle().state() == DocumentLifecycle::PrePaintClean) ||
2961 lifecycle().state() == DocumentLifecycle::PaintClean); 2960 lifecycle().state() == DocumentLifecycle::PaintClean);
2962 } 2961 }
2963 2962
(...skipping 14 matching lines...) Expand all
2978 void FrameView::performScrollAnchoringAdjustments() { 2977 void FrameView::performScrollAnchoringAdjustments() {
2979 for (WeakMember<ScrollableArea>& scroller : m_anchoringAdjustmentQueue) { 2978 for (WeakMember<ScrollableArea>& scroller : m_anchoringAdjustmentQueue) {
2980 if (scroller) { 2979 if (scroller) {
2981 DCHECK(scroller->scrollAnchor()); 2980 DCHECK(scroller->scrollAnchor());
2982 scroller->scrollAnchor()->adjust(); 2981 scroller->scrollAnchor()->adjust();
2983 } 2982 }
2984 } 2983 }
2985 m_anchoringAdjustmentQueue.clear(); 2984 m_anchoringAdjustmentQueue.clear();
2986 } 2985 }
2987 2986
2988 void FrameView::updatePaintProperties() { 2987 void FrameView::prePaint() {
2989 TRACE_EVENT0("blink", "FrameView::updatePaintProperties"); 2988 TRACE_EVENT0("blink", "FrameView::prePaint");
2990 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.PrePaint.UpdateTime"); 2989 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.PrePaint.UpdateTime");
2991 2990
2992 if (!m_paintController) 2991 if (!m_paintController)
2993 m_paintController = PaintController::create(); 2992 m_paintController = PaintController::create();
2994 2993
2995 forAllNonThrottledFrameViews([](FrameView& frameView) { 2994 forAllNonThrottledFrameViews([](FrameView& frameView) {
2996 frameView.lifecycle().advanceTo(DocumentLifecycle::InPrePaint); 2995 frameView.lifecycle().advanceTo(DocumentLifecycle::InPrePaint);
2997 }); 2996 });
2998 2997
2999 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) 2998 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled())
3000 PrePaintTreeWalk().walk(*this); 2999 PrePaintTreeWalk().walk(*this);
3001 3000
3002 forAllNonThrottledFrameViews([](FrameView& frameView) { 3001 forAllNonThrottledFrameViews([](FrameView& frameView) {
3003 frameView.lifecycle().advanceTo(DocumentLifecycle::PrePaintClean); 3002 frameView.lifecycle().advanceTo(DocumentLifecycle::PrePaintClean);
3004 }); 3003 });
3005 } 3004 }
3006 3005
3007 void FrameView::synchronizedPaint() { 3006 void FrameView::paintTree() {
3008 TRACE_EVENT0("blink", "FrameView::synchronizedPaint"); 3007 TRACE_EVENT0("blink", "FrameView::paintTree");
3009 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Paint.UpdateTime"); 3008 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Paint.UpdateTime");
3010 3009
3011 ASSERT(frame() == page()->mainFrame() || 3010 ASSERT(frame() == page()->mainFrame() ||
3012 (!frame().tree().parent()->isLocalFrame())); 3011 (!frame().tree().parent()->isLocalFrame()));
3013 3012
3014 LayoutViewItem view = layoutViewItem(); 3013 LayoutViewItem view = layoutViewItem();
3015 ASSERT(!view.isNull()); 3014 ASSERT(!view.isNull());
3016 forAllNonThrottledFrameViews([](FrameView& frameView) { 3015 forAllNonThrottledFrameViews([](FrameView& frameView) {
3017 frameView.lifecycle().advanceTo(DocumentLifecycle::InPaint); 3016 frameView.lifecycle().advanceTo(DocumentLifecycle::InPaint);
3018 }); 3017 });
3019 3018
3020 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 3019 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
3021 if (layoutView()->layer()->needsRepaint()) { 3020 if (layoutView()->layer()->needsRepaint()) {
3022 GraphicsContext graphicsContext(*m_paintController); 3021 GraphicsContext graphicsContext(*m_paintController);
3023 paint(graphicsContext, CullRect(LayoutRect::infiniteIntRect())); 3022 paint(graphicsContext, CullRect(LayoutRect::infiniteIntRect()));
3024 m_paintController->commitNewDisplayItems(LayoutSize()); 3023 m_paintController->commitNewDisplayItems(LayoutSize());
3025 } 3024 }
3026 } else { 3025 } else {
3027 // A null graphics layer can occur for painting of SVG images that are not 3026 // A null graphics layer can occur for painting of SVG images that are not
3028 // parented into the main frame tree, or when the FrameView is the main 3027 // parented into the main frame tree, or when the FrameView is the main
3029 // frame view of a page overlay. The page overlay is in the layer tree of 3028 // frame view of a page overlay. The page overlay is in the layer tree of
3030 // the host page and will be painted during synchronized painting of the 3029 // the host page and will be painted during painting of the host page.
3031 // host page.
3032 if (GraphicsLayer* rootGraphicsLayer = 3030 if (GraphicsLayer* rootGraphicsLayer =
3033 view.compositor()->rootGraphicsLayer()) { 3031 view.compositor()->rootGraphicsLayer()) {
3034 synchronizedPaintRecursively(rootGraphicsLayer); 3032 paintGraphicsLayerRecursively(rootGraphicsLayer);
3035 } 3033 }
3036 3034
3037 // TODO(sataya.m):Main frame doesn't create RootFrameViewport in some 3035 // TODO(sataya.m):Main frame doesn't create RootFrameViewport in some
3038 // webkit_unit_tests (http://crbug.com/644788). 3036 // webkit_unit_tests (http://crbug.com/644788).
3039 if (m_viewportScrollableArea) { 3037 if (m_viewportScrollableArea) {
3040 if (GraphicsLayer* layerForHorizontalScrollbar = 3038 if (GraphicsLayer* layerForHorizontalScrollbar =
3041 m_viewportScrollableArea->layerForHorizontalScrollbar()) { 3039 m_viewportScrollableArea->layerForHorizontalScrollbar()) {
3042 synchronizedPaintRecursively(layerForHorizontalScrollbar); 3040 paintGraphicsLayerRecursively(layerForHorizontalScrollbar);
3043 } 3041 }
3044 if (GraphicsLayer* layerForVerticalScrollbar = 3042 if (GraphicsLayer* layerForVerticalScrollbar =
3045 m_viewportScrollableArea->layerForVerticalScrollbar()) { 3043 m_viewportScrollableArea->layerForVerticalScrollbar()) {
3046 synchronizedPaintRecursively(layerForVerticalScrollbar); 3044 paintGraphicsLayerRecursively(layerForVerticalScrollbar);
3047 } 3045 }
3048 if (GraphicsLayer* layerForScrollCorner = 3046 if (GraphicsLayer* layerForScrollCorner =
3049 m_viewportScrollableArea->layerForScrollCorner()) { 3047 m_viewportScrollableArea->layerForScrollCorner()) {
3050 synchronizedPaintRecursively(layerForScrollCorner); 3048 paintGraphicsLayerRecursively(layerForScrollCorner);
3051 } 3049 }
3052 } 3050 }
3053 } 3051 }
3054 3052
3055 forAllNonThrottledFrameViews([](FrameView& frameView) { 3053 forAllNonThrottledFrameViews([](FrameView& frameView) {
3056 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean); 3054 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean);
3057 LayoutViewItem layoutViewItem = frameView.layoutViewItem(); 3055 LayoutViewItem layoutViewItem = frameView.layoutViewItem();
3058 if (!layoutViewItem.isNull()) 3056 if (!layoutViewItem.isNull())
3059 layoutViewItem.layer()->clearNeedsRepaintRecursively(); 3057 layoutViewItem.layer()->clearNeedsRepaintRecursively();
3060 }); 3058 });
3061 } 3059 }
3062 3060
3063 void FrameView::synchronizedPaintRecursively(GraphicsLayer* graphicsLayer) { 3061 void FrameView::paintGraphicsLayerRecursively(GraphicsLayer* graphicsLayer) {
3064 if (graphicsLayer->drawsContent()) 3062 if (graphicsLayer->drawsContent())
3065 graphicsLayer->paint(nullptr); 3063 graphicsLayer->paint(nullptr);
3066 3064
3067 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 3065 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
3068 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer()) 3066 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer())
3069 synchronizedPaintRecursively(maskLayer); 3067 paintGraphicsLayerRecursively(maskLayer);
3070 if (GraphicsLayer* contentsClippingMaskLayer = 3068 if (GraphicsLayer* contentsClippingMaskLayer =
3071 graphicsLayer->contentsClippingMaskLayer()) 3069 graphicsLayer->contentsClippingMaskLayer())
3072 synchronizedPaintRecursively(contentsClippingMaskLayer); 3070 paintGraphicsLayerRecursively(contentsClippingMaskLayer);
3073 } 3071 }
3074 3072
3075 for (auto& child : graphicsLayer->children()) 3073 for (auto& child : graphicsLayer->children())
3076 synchronizedPaintRecursively(child); 3074 paintGraphicsLayerRecursively(child);
3077 } 3075 }
3078 3076
3079 void FrameView::pushPaintArtifactToCompositor() { 3077 void FrameView::pushPaintArtifactToCompositor() {
3080 TRACE_EVENT0("blink", "FrameView::pushPaintArtifactToCompositor"); 3078 TRACE_EVENT0("blink", "FrameView::pushPaintArtifactToCompositor");
3081 3079
3082 DCHECK(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); 3080 DCHECK(RuntimeEnabledFeatures::slimmingPaintV2Enabled());
3083 3081
3084 Page* page = frame().page(); 3082 Page* page = frame().page();
3085 if (!page) 3083 if (!page)
3086 return; 3084 return;
(...skipping 1830 matching lines...) Expand 10 before | Expand all | Expand 10 after
4917 reason < MainThreadScrollingReason::kMainThreadScrollingReasonCount; 4915 reason < MainThreadScrollingReason::kMainThreadScrollingReasonCount;
4918 ++reason) { 4916 ++reason) {
4919 if (m_mainThreadScrollingReasonsCounter[reason] > 0) { 4917 if (m_mainThreadScrollingReasonsCounter[reason] > 0) {
4920 reasons |= 1 << (reason - 1); 4918 reasons |= 1 << (reason - 1);
4921 } 4919 }
4922 } 4920 }
4923 return reasons; 4921 return reasons;
4924 } 4922 }
4925 4923
4926 } // namespace blink 4924 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/layout/LayoutObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698