OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h" | 5 #include "modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h" |
6 | 6 |
7 #include "bindings/modules/v8/OffscreenCanvasRenderingContext2DOrWebGLRenderingC
ontextOrWebGL2RenderingContext.h" | 7 #include "bindings/modules/v8/OffscreenCanvasRenderingContext2DOrWebGLRenderingC
ontextOrWebGL2RenderingContext.h" |
8 #include "core/frame/ImageBitmap.h" | 8 #include "core/frame/ImageBitmap.h" |
9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
10 #include "core/workers/WorkerGlobalScope.h" | 10 #include "core/workers/WorkerGlobalScope.h" |
11 #include "core/workers/WorkerSettings.h" | 11 #include "core/workers/WorkerSettings.h" |
12 #include "platform/graphics/ImageBuffer.h" | 12 #include "platform/graphics/ImageBuffer.h" |
13 #include "platform/graphics/StaticBitmapImage.h" | 13 #include "platform/graphics/StaticBitmapImage.h" |
14 #include "platform/graphics/UnacceleratedImageBufferSurface.h" | 14 #include "platform/graphics/UnacceleratedImageBufferSurface.h" |
15 #include "platform/graphics/gpu/AcceleratedImageBufferSurface.h" | 15 #include "platform/graphics/gpu/AcceleratedImageBufferSurface.h" |
| 16 #include "platform/graphics/paint/PaintCanvas.h" |
16 #include "wtf/Assertions.h" | 17 #include "wtf/Assertions.h" |
17 #include "wtf/CurrentTime.h" | 18 #include "wtf/CurrentTime.h" |
18 | 19 |
19 namespace blink { | 20 namespace blink { |
20 | 21 |
21 OffscreenCanvasRenderingContext2D::~OffscreenCanvasRenderingContext2D() {} | 22 OffscreenCanvasRenderingContext2D::~OffscreenCanvasRenderingContext2D() {} |
22 | 23 |
23 OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D( | 24 OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D( |
24 ScriptState* scriptState, | 25 ScriptState* scriptState, |
25 OffscreenCanvas* canvas, | 26 OffscreenCanvas* canvas, |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 OffscreenRenderingContext& result) { | 196 OffscreenRenderingContext& result) { |
196 result.setOffscreenCanvasRenderingContext2D(this); | 197 result.setOffscreenCanvasRenderingContext2D(this); |
197 } | 198 } |
198 | 199 |
199 bool OffscreenCanvasRenderingContext2D::parseColorOrCurrentColor( | 200 bool OffscreenCanvasRenderingContext2D::parseColorOrCurrentColor( |
200 Color& color, | 201 Color& color, |
201 const String& colorString) const { | 202 const String& colorString) const { |
202 return ::blink::parseColorOrCurrentColor(color, colorString, nullptr); | 203 return ::blink::parseColorOrCurrentColor(color, colorString, nullptr); |
203 } | 204 } |
204 | 205 |
205 SkCanvas* OffscreenCanvasRenderingContext2D::drawingCanvas() const { | 206 PaintCanvas* OffscreenCanvasRenderingContext2D::drawingCanvas() const { |
206 ImageBuffer* buffer = imageBuffer(); | 207 ImageBuffer* buffer = imageBuffer(); |
207 if (!buffer) | 208 if (!buffer) |
208 return nullptr; | 209 return nullptr; |
209 return imageBuffer()->canvas(); | 210 return imageBuffer()->canvas(); |
210 } | 211 } |
211 | 212 |
212 SkCanvas* OffscreenCanvasRenderingContext2D::existingDrawingCanvas() const { | 213 PaintCanvas* OffscreenCanvasRenderingContext2D::existingDrawingCanvas() const { |
213 if (!m_imageBuffer) | 214 if (!m_imageBuffer) |
214 return nullptr; | 215 return nullptr; |
215 return m_imageBuffer->canvas(); | 216 return m_imageBuffer->canvas(); |
216 } | 217 } |
217 | 218 |
218 void OffscreenCanvasRenderingContext2D::disableDeferral(DisableDeferralReason) { | 219 void OffscreenCanvasRenderingContext2D::disableDeferral(DisableDeferralReason) { |
219 } | 220 } |
220 | 221 |
221 AffineTransform OffscreenCanvasRenderingContext2D::baseTransform() const { | 222 AffineTransform OffscreenCanvasRenderingContext2D::baseTransform() const { |
222 if (!m_imageBuffer) | 223 if (!m_imageBuffer) |
223 return AffineTransform(); // identity | 224 return AffineTransform(); // identity |
224 return m_imageBuffer->baseTransform(); | 225 return m_imageBuffer->baseTransform(); |
225 } | 226 } |
226 | 227 |
227 void OffscreenCanvasRenderingContext2D::didDraw(const SkIRect& dirtyRect) {} | 228 void OffscreenCanvasRenderingContext2D::didDraw(const SkIRect& dirtyRect) {} |
228 | 229 |
229 bool OffscreenCanvasRenderingContext2D::stateHasFilter() { | 230 bool OffscreenCanvasRenderingContext2D::stateHasFilter() { |
230 return state().hasFilterForOffscreenCanvas(offscreenCanvas()->size()); | 231 return state().hasFilterForOffscreenCanvas(offscreenCanvas()->size()); |
231 } | 232 } |
232 | 233 |
233 sk_sp<SkImageFilter> OffscreenCanvasRenderingContext2D::stateGetFilter() { | 234 sk_sp<SkImageFilter> OffscreenCanvasRenderingContext2D::stateGetFilter() { |
234 return state().getFilterForOffscreenCanvas(offscreenCanvas()->size()); | 235 return state().getFilterForOffscreenCanvas(offscreenCanvas()->size()); |
235 } | 236 } |
236 | 237 |
237 void OffscreenCanvasRenderingContext2D::validateStateStack() const { | 238 void OffscreenCanvasRenderingContext2D::validateStateStack() const { |
238 #if DCHECK_IS_ON() | 239 #if DCHECK_IS_ON() |
239 if (SkCanvas* skCanvas = existingDrawingCanvas()) { | 240 if (PaintCanvas* skCanvas = existingDrawingCanvas()) { |
240 DCHECK_EQ(static_cast<size_t>(skCanvas->getSaveCount()), | 241 DCHECK_EQ(static_cast<size_t>(skCanvas->getSaveCount()), |
241 m_stateStack.size() + 1); | 242 m_stateStack.size() + 1); |
242 } | 243 } |
243 #endif | 244 #endif |
244 } | 245 } |
245 | 246 |
246 bool OffscreenCanvasRenderingContext2D::isContextLost() const { | 247 bool OffscreenCanvasRenderingContext2D::isContextLost() const { |
247 return false; | 248 return false; |
248 } | 249 } |
249 | 250 |
250 bool OffscreenCanvasRenderingContext2D::isPaintable() const { | 251 bool OffscreenCanvasRenderingContext2D::isPaintable() const { |
251 return this->imageBuffer(); | 252 return this->imageBuffer(); |
252 } | 253 } |
253 } | 254 } |
OLD | NEW |