#import #import #import // FIXME: This should be in OffscreenCanvasBase.idl but then it is not exported // https://html.spec.whatwg.org/multipage/canvas.html#imageencodeoptions dictionary ImageEncodeOptions { DOMString type = "image/png"; unrestricted double quality; }; // FIXME: This should be in OffscreenCanvasBase.idl but then it is not exported // https://html.spec.whatwg.org/multipage/canvas.html#offscreenrenderingcontextid enum OffscreenRenderingContextId { "2d", "bitmaprenderer", "webgl", "webgl2", "webgpu" }; // https://html.spec.whatwg.org/multipage/canvas.html#offscreencanvas [Exposed=(Window,Worker), Transferable] interface OffscreenCanvas : EventTarget { constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height); attribute unsigned long long width; attribute unsigned long long height; OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null); ImageBitmap transferToImageBitmap(); Promise convertToBlob(optional ImageEncodeOptions options = {}); attribute EventHandler oncontextlost; attribute EventHandler oncontextrestored; };