OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "platform/graphics/RecordingImageBufferSurface.h" | 5 #include "platform/graphics/RecordingImageBufferSurface.h" |
6 | 6 |
7 #include "platform/Histogram.h" | 7 #include "platform/Histogram.h" |
8 #include "platform/graphics/CanvasMetrics.h" | 8 #include "platform/graphics/CanvasMetrics.h" |
9 #include "platform/graphics/ExpensiveCanvasHeuristicParameters.h" | 9 #include "platform/graphics/ExpensiveCanvasHeuristicParameters.h" |
10 #include "platform/graphics/GraphicsContext.h" | 10 #include "platform/graphics/GraphicsContext.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 EnumerationHistogram, canvasFallbackHistogram, | 92 EnumerationHistogram, canvasFallbackHistogram, |
93 new EnumerationHistogram("Canvas.DisplayListFallbackReason", | 93 new EnumerationHistogram("Canvas.DisplayListFallbackReason", |
94 FallbackReasonCount)); | 94 FallbackReasonCount)); |
95 canvasFallbackHistogram.count(reason); | 95 canvasFallbackHistogram.count(reason); |
96 | 96 |
97 m_fallbackSurface = m_fallbackFactory->createSurface( | 97 m_fallbackSurface = m_fallbackFactory->createSurface( |
98 size(), getOpacityMode(), colorSpace(), colorType()); | 98 size(), getOpacityMode(), colorSpace(), colorType()); |
99 m_fallbackSurface->setImageBuffer(m_imageBuffer); | 99 m_fallbackSurface->setImageBuffer(m_imageBuffer); |
100 | 100 |
101 if (m_previousFrame) { | 101 if (m_previousFrame) { |
102 m_previousFrame->playback(m_fallbackSurface->canvas()); | 102 m_fallbackSurface->canvas()->drawPicture(m_previousFrame); |
103 m_previousFrame.reset(); | 103 m_previousFrame.reset(); |
104 } | 104 } |
105 | 105 |
106 if (m_currentFrame) { | 106 if (m_currentFrame) { |
107 sk_sp<PaintRecord> record = m_currentFrame->finishRecordingAsPicture(); | 107 sk_sp<PaintRecord> record = m_currentFrame->finishRecordingAsPicture(); |
108 if (record) | 108 if (record) |
109 record->playback(m_fallbackSurface->canvas()); | 109 m_fallbackSurface->canvas()->drawPicture(record); |
110 m_currentFrame.reset(); | 110 m_currentFrame.reset(); |
111 } | 111 } |
112 | 112 |
113 if (m_imageBuffer) { | 113 if (m_imageBuffer) { |
114 m_imageBuffer->resetCanvas(m_fallbackSurface->canvas()); | 114 m_imageBuffer->resetCanvas(m_fallbackSurface->canvas()); |
115 } | 115 } |
116 | 116 |
117 CanvasMetrics::countCanvasContextUsage( | 117 CanvasMetrics::countCanvasContextUsage( |
118 CanvasMetrics::DisplayList2DCanvasFallbackToRaster); | 118 CanvasMetrics::DisplayList2DCanvasFallbackToRaster); |
119 } | 119 } |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 } | 406 } |
407 | 407 |
408 void RecordingImageBufferSurface::setIsHidden(bool hidden) { | 408 void RecordingImageBufferSurface::setIsHidden(bool hidden) { |
409 if (m_fallbackSurface) | 409 if (m_fallbackSurface) |
410 m_fallbackSurface->setIsHidden(hidden); | 410 m_fallbackSurface->setIsHidden(hidden); |
411 else | 411 else |
412 ImageBufferSurface::setIsHidden(hidden); | 412 ImageBufferSurface::setIsHidden(hidden); |
413 } | 413 } |
414 | 414 |
415 } // namespace blink | 415 } // namespace blink |
OLD | NEW |