Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(744)

Side by Side Diff: third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp

Issue 1862033002: Make OffscreenCanvas Transferable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no need to register, taking the same approach as extractTransferables Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/canvas/HTMLCanvasElementModule.h" 5 #include "modules/canvas/HTMLCanvasElementModule.h"
6 6
7 #include "core/dom/DOMNodeIds.h"
7 #include "core/html/canvas/CanvasContextCreationAttributes.h" 8 #include "core/html/canvas/CanvasContextCreationAttributes.h"
8 #include "core/html/canvas/CanvasRenderingContext.h" 9 #include "core/html/canvas/CanvasRenderingContext.h"
9 10
10 namespace blink { 11 namespace blink {
11 12
12 void HTMLCanvasElementModule::getContext(HTMLCanvasElement& canvas, const String & type, const CanvasContextCreationAttributes& attributes, RenderingContext& res ult) 13 void HTMLCanvasElementModule::getContext(HTMLCanvasElement& canvas, const String & type, const CanvasContextCreationAttributes& attributes, RenderingContext& res ult)
13 { 14 {
14 CanvasRenderingContext* context = canvas.getCanvasRenderingContext(type, att ributes); 15 CanvasRenderingContext* context = canvas.getCanvasRenderingContext(type, att ributes);
15 if (context) { 16 if (context) {
16 context->setCanvasGetContextResult(result); 17 context->setCanvasGetContextResult(result);
17 } 18 }
18 } 19 }
19 20
20 OffscreenCanvas* HTMLCanvasElementModule::transferControlToOffscreen(HTMLCanvasE lement& canvas, ExceptionState& exceptionState) 21 OffscreenCanvas* HTMLCanvasElementModule::transferControlToOffscreen(HTMLCanvasE lement& canvas, ExceptionState& exceptionState)
21 { 22 {
22 if (canvas.renderingContext()) { 23 if (canvas.renderingContext()) {
23 exceptionState.throwDOMException(InvalidStateError, "Cannot transfer con trol from a canvas that has a rendering context."); 24 exceptionState.throwDOMException(InvalidStateError, "Cannot transfer con trol from a canvas that has a rendering context.");
24 return nullptr; 25 return nullptr;
25 } 26 }
26 OffscreenCanvas* offscreenCanvas = OffscreenCanvas::create(canvas.width(), c anvas.height()); 27 OffscreenCanvas* offscreenCanvas = OffscreenCanvas::create(canvas.width(), c anvas.height());
27 offscreenCanvas->setAssociatedCanvas(&canvas); 28 offscreenCanvas->setAssociatedCanvasId(DOMNodeIds::idForNode(&canvas));
28 return offscreenCanvas; 29 return offscreenCanvas;
29 } 30 }
30 31
31 } 32 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698