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" |
11 #include "platform/graphics/ImageBuffer.h" | 11 #include "platform/graphics/ImageBuffer.h" |
12 #include "third_party/skia/include/core/SkCanvas.h" | 12 #include "third_party/skia/include/core/SkCanvas.h" |
13 #include "third_party/skia/include/core/SkPictureRecorder.h" | 13 #include "third_party/skia/include/core/SkPictureRecorder.h" |
14 #include "wtf/PassOwnPtr.h" | |
15 #include "wtf/PassRefPtr.h" | 14 #include "wtf/PassRefPtr.h" |
| 15 #include "wtf/PtrUtil.h" |
| 16 #include <memory> |
16 | 17 |
17 namespace blink { | 18 namespace blink { |
18 | 19 |
19 RecordingImageBufferSurface::RecordingImageBufferSurface(const IntSize& size, Pa
ssOwnPtr<RecordingImageBufferFallbackSurfaceFactory> fallbackFactory, OpacityMod
e opacityMode) | 20 RecordingImageBufferSurface::RecordingImageBufferSurface(const IntSize& size, st
d::unique_ptr<RecordingImageBufferFallbackSurfaceFactory> fallbackFactory, Opaci
tyMode opacityMode) |
20 : ImageBufferSurface(size, opacityMode) | 21 : ImageBufferSurface(size, opacityMode) |
21 , m_imageBuffer(0) | 22 , m_imageBuffer(0) |
22 , m_currentFramePixelCount(0) | 23 , m_currentFramePixelCount(0) |
23 , m_previousFramePixelCount(0) | 24 , m_previousFramePixelCount(0) |
24 , m_frameWasCleared(true) | 25 , m_frameWasCleared(true) |
25 , m_didRecordDrawCommandsInCurrentFrame(false) | 26 , m_didRecordDrawCommandsInCurrentFrame(false) |
26 , m_currentFrameHasExpensiveOp(false) | 27 , m_currentFrameHasExpensiveOp(false) |
27 , m_previousFrameHasExpensiveOp(false) | 28 , m_previousFrameHasExpensiveOp(false) |
28 , m_fallbackFactory(std::move(fallbackFactory)) | 29 , m_fallbackFactory(std::move(fallbackFactory)) |
29 { | 30 { |
30 initializeCurrentFrame(); | 31 initializeCurrentFrame(); |
31 } | 32 } |
32 | 33 |
33 RecordingImageBufferSurface::~RecordingImageBufferSurface() | 34 RecordingImageBufferSurface::~RecordingImageBufferSurface() |
34 { } | 35 { } |
35 | 36 |
36 void RecordingImageBufferSurface::initializeCurrentFrame() | 37 void RecordingImageBufferSurface::initializeCurrentFrame() |
37 { | 38 { |
38 static SkRTreeFactory rTreeFactory; | 39 static SkRTreeFactory rTreeFactory; |
39 m_currentFrame = adoptPtr(new SkPictureRecorder); | 40 m_currentFrame = wrapUnique(new SkPictureRecorder); |
40 m_currentFrame->beginRecording(size().width(), size().height(), &rTreeFactor
y); | 41 m_currentFrame->beginRecording(size().width(), size().height(), &rTreeFactor
y); |
41 if (m_imageBuffer) { | 42 if (m_imageBuffer) { |
42 m_imageBuffer->resetCanvas(m_currentFrame->getRecordingCanvas()); | 43 m_imageBuffer->resetCanvas(m_currentFrame->getRecordingCanvas()); |
43 } | 44 } |
44 m_didRecordDrawCommandsInCurrentFrame = false; | 45 m_didRecordDrawCommandsInCurrentFrame = false; |
45 m_currentFrameHasExpensiveOp = false; | 46 m_currentFrameHasExpensiveOp = false; |
46 m_currentFramePixelCount = 0; | 47 m_currentFramePixelCount = 0; |
47 } | 48 } |
48 | 49 |
49 void RecordingImageBufferSurface::setImageBuffer(ImageBuffer* imageBuffer) | 50 void RecordingImageBufferSurface::setImageBuffer(ImageBuffer* imageBuffer) |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 | 348 |
348 void RecordingImageBufferSurface::setIsHidden(bool hidden) | 349 void RecordingImageBufferSurface::setIsHidden(bool hidden) |
349 { | 350 { |
350 if (m_fallbackSurface) | 351 if (m_fallbackSurface) |
351 m_fallbackSurface->setIsHidden(hidden); | 352 m_fallbackSurface->setIsHidden(hidden); |
352 else | 353 else |
353 ImageBufferSurface::setIsHidden(hidden); | 354 ImageBufferSurface::setIsHidden(hidden); |
354 } | 355 } |
355 | 356 |
356 } // namespace blink | 357 } // namespace blink |
OLD | NEW |