Chromium Code Reviews| Index: third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp |
| diff --git a/third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp b/third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp |
| index f22f6ef226bdf3da08e997975c64cb196fc3bf6c..f4fbf82971484a94532f49e63830f76c7783bf1c 100644 |
| --- a/third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp |
| +++ b/third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp |
| @@ -21,13 +21,23 @@ void HTMLCanvasElementModule::getContext(HTMLCanvasElement& canvas, const String |
| OffscreenCanvas* HTMLCanvasElementModule::transferControlToOffscreen(HTMLCanvasElement& canvas, ExceptionState& exceptionState) |
| { |
| + OffscreenCanvas* offscreenCanvas = transferControlToOffscreenInternal(canvas, exceptionState); |
| + |
| + if (!canvas.createSurfaceLayer()) { |
| + exceptionState.throwDOMException(V8GeneralError, "Layer creation for offscreen canvas fails."); |
|
Justin Novosad
2016/06/10 18:48:15
Nit: fails->failed
Also I don't think we should me
|
| + } |
| + |
| + return offscreenCanvas; |
| +} |
| + |
| +OffscreenCanvas* HTMLCanvasElementModule::transferControlToOffscreenInternal(HTMLCanvasElement& canvas, ExceptionState& exceptionState) |
| +{ |
| if (canvas.renderingContext()) { |
| exceptionState.throwDOMException(InvalidStateError, "Cannot transfer control from a canvas that has a rendering context."); |
| return nullptr; |
| } |
| OffscreenCanvas* offscreenCanvas = OffscreenCanvas::create(canvas.width(), canvas.height()); |
| offscreenCanvas->setAssociatedCanvasId(DOMNodeIds::idForNode(&canvas)); |
| - canvas.createSurfaceLayerBridge(); |
| return offscreenCanvas; |
| } |