OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |