pub(crate) trait HTMLCanvasElementMethods<D>{
// Required methods
fn Width(&self) -> u32;
fn SetWidth(&self, value: u32, _can_gc: CanGc) -> Result<(), Error>;
fn Height(&self) -> u32;
fn SetHeight(&self, value: u32, _can_gc: CanGc) -> Result<(), Error>;
fn GetContext(
&self,
cx: JSContext,
contextId: DOMString,
options: Handle<'_, Value>,
_can_gc: CanGc,
) -> Result<Option<CanvasRenderingContext2DOrWebGLRenderingContextOrWebGL2RenderingContextOrGPUCanvasContext<D>>, Error>;
fn ToDataURL(
&self,
cx: JSContext,
type_: DOMString,
quality: Handle<'_, Value>,
) -> Result<USVString, Error>;
fn ToBlob(
&self,
cx: JSContext,
callback: Rc<BlobCallback<D>>,
type_: DOMString,
quality: Handle<'_, Value>,
) -> Result<(), Error>;
fn TransferControlToOffscreen(
&self,
_can_gc: CanGc,
) -> Result<Root<Dom<<D as DomTypes>::OffscreenCanvas>>, Error>;
fn CaptureStream(
&self,
frameRequestRate: Option<Finite<f64>>,
_can_gc: CanGc,
) -> Root<Dom<<D as DomTypes>::MediaStream>>;
}