#import <HTML/CanvasRenderingContext2D.idl>
#import <HTML/HTMLElement.idl>
#import <WebGL/WebGLRenderingContext.idl>

typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext;

// https://html.spec.whatwg.org/multipage/semantics.html#htmlcanvaselement
[Exposed=Window]
interface HTMLCanvasElement : HTMLElement {

    RenderingContext? getContext(DOMString contextId, optional any options = null);
    attribute unsigned long width;
    attribute unsigned long height;

    USVString toDataURL(optional DOMString type = "image/png", optional double quality);

};
