servo/components/script/dom/webidls/HTMLCanvasElement.webidl
webbeef c936dd6c4e
Implement HTMLCanvasElement.transferControlToOffscreen (#34959)
This follows the spec by introducing a new "Placeholder" canvas context
mode. The underlying offscreen canvas is kept accessible from the DOM
element to allow for the drawImage() implementation to work with canvases
that have transfered their control.

Signed-off-by: webbeef <me@webbeef.org>
2025-01-13 04:09:02 +00:00

36 lines
1.2 KiB
Text

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// https://html.spec.whatwg.org/multipage/#htmlcanvaselement
typedef (CanvasRenderingContext2D
or WebGLRenderingContext
or WebGL2RenderingContext
or GPUCanvasContext) RenderingContext;
[Exposed=Window]
interface HTMLCanvasElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Pure, SetterThrows] attribute unsigned long width;
[CEReactions, Pure, SetterThrows] attribute unsigned long height;
[Throws]
RenderingContext? getContext(DOMString contextId, optional any options = null);
[Throws]
USVString toDataURL(optional DOMString type = "image/png", optional any quality);
[Throws]
undefined toBlob(BlobCallback callback, optional DOMString type = "image/png", optional any quality);
[Throws]
OffscreenCanvas transferControlToOffscreen();
};
partial interface HTMLCanvasElement {
[Pref="dom.canvas_capture.enabled"]
MediaStream captureStream (optional double frameRequestRate);
};
callback BlobCallback = undefined(Blob? blob);