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

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

Issue 2342103002: Refactor the way PaintArtifactCompositor is attached and used. (Closed)
Patch Set: none 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 #include "platform/ScriptForbiddenScope.h" 99 #include "platform/ScriptForbiddenScope.h"
100 #include "platform/TraceEvent.h" 100 #include "platform/TraceEvent.h"
101 #include "platform/TracedValue.h" 101 #include "platform/TracedValue.h"
102 #include "platform/fonts/FontCache.h" 102 #include "platform/fonts/FontCache.h"
103 #include "platform/geometry/DoubleRect.h" 103 #include "platform/geometry/DoubleRect.h"
104 #include "platform/geometry/FloatRect.h" 104 #include "platform/geometry/FloatRect.h"
105 #include "platform/geometry/LayoutRect.h" 105 #include "platform/geometry/LayoutRect.h"
106 #include "platform/graphics/GraphicsContext.h" 106 #include "platform/graphics/GraphicsContext.h"
107 #include "platform/graphics/GraphicsLayer.h" 107 #include "platform/graphics/GraphicsLayer.h"
108 #include "platform/graphics/GraphicsLayerDebugInfo.h" 108 #include "platform/graphics/GraphicsLayerDebugInfo.h"
109 #include "platform/graphics/compositing/PaintArtifactCompositor.h"
109 #include "platform/graphics/paint/CullRect.h" 110 #include "platform/graphics/paint/CullRect.h"
110 #include "platform/graphics/paint/PaintController.h" 111 #include "platform/graphics/paint/PaintController.h"
111 #include "platform/graphics/paint/ScopedPaintChunkProperties.h" 112 #include "platform/graphics/paint/ScopedPaintChunkProperties.h"
112 #include "platform/json/JSONValues.h" 113 #include "platform/json/JSONValues.h"
113 #include "platform/scheduler/CancellableTaskFactory.h" 114 #include "platform/scheduler/CancellableTaskFactory.h"
114 #include "platform/scroll/ScrollAnimatorBase.h" 115 #include "platform/scroll/ScrollAnimatorBase.h"
115 #include "platform/scroll/ScrollbarTheme.h" 116 #include "platform/scroll/ScrollbarTheme.h"
116 #include "platform/text/TextStream.h" 117 #include "platform/text/TextStream.h"
117 #include "public/platform/WebDisplayItemList.h" 118 #include "public/platform/WebDisplayItemList.h"
118 #include "public/platform/WebFrameScheduler.h" 119 #include "public/platform/WebFrameScheduler.h"
(...skipping 2645 matching lines...) Expand 10 before | Expand all | Expand 10 after
2764 for (auto& child : graphicsLayer->children()) 2765 for (auto& child : graphicsLayer->children())
2765 synchronizedPaintRecursively(child); 2766 synchronizedPaintRecursively(child);
2766 } 2767 }
2767 2768
2768 void FrameView::pushPaintArtifactToCompositor() 2769 void FrameView::pushPaintArtifactToCompositor()
2769 { 2770 {
2770 TRACE_EVENT0("blink", "FrameView::pushPaintArtifactToCompositor"); 2771 TRACE_EVENT0("blink", "FrameView::pushPaintArtifactToCompositor");
2771 2772
2772 ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); 2773 ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled());
2773 2774
2774 const PaintArtifact& paintArtifact = m_paintController->paintArtifact();
2775
2776 Page* page = frame().page(); 2775 Page* page = frame().page();
2777 if (!page) 2776 if (!page)
2778 return; 2777 return;
2779 page->chromeClient().didPaint(paintArtifact); 2778
2779 if (!m_paintArtifactCompositor) {
2780 m_paintArtifactCompositor = PaintArtifactCompositor::create();
2781 page->chromeClient().attachRootLayer(m_paintArtifactCompositor->getWebLa yer(), &frame());
2782 }
2783
2784 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Compositing.UpdateTime");
2785
2786 m_paintArtifactCompositor->update(m_paintController->paintArtifact());
2780 } 2787 }
2781 2788
2782 void FrameView::updateStyleAndLayoutIfNeededRecursive() 2789 void FrameView::updateStyleAndLayoutIfNeededRecursive()
2783 { 2790 {
2784 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); 2791 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime");
2785 updateStyleAndLayoutIfNeededRecursiveInternal(); 2792 updateStyleAndLayoutIfNeededRecursiveInternal();
2786 } 2793 }
2787 2794
2788 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() 2795 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal()
2789 { 2796 {
(...skipping 1579 matching lines...) Expand 10 before | Expand all | Expand 10 after
4369 } 4376 }
4370 4377
4371 bool FrameView::canThrottleRendering() const 4378 bool FrameView::canThrottleRendering() const
4372 { 4379 {
4373 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) 4380 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled())
4374 return false; 4381 return false;
4375 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4382 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4376 } 4383 }
4377 4384
4378 } // namespace blink 4385 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/frame/FrameViewTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698