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; |
} |