// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://html.spec.whatwg.org/#the-canvas-element

typedef (CanvasRenderingContext2D or
         WebGLRenderingContext or
         WebGL2RenderingContext or
         ImageBitmapRenderingContext) RenderingContext;

[
    ImplementedAs=HTMLCanvasElementModule
] partial interface HTMLCanvasElement
{
    // The PermissiveDictionaryConversion extended attribute is needed to allow the
    // autogenerated code to match the behavior of the custom binding. Web IDL
    // requires throwing TypeError if the incoming argument is not an object type
    // (and is not undefined or null). The binding must ignore this.
    // Related spec issue: https://github.com/whatwg/html/issues/595
    [RaisesException] RenderingContext? getContext(DOMString contextId, [PermissiveDictionaryConversion] optional CanvasContextCreationAttributes attributes);
    [RuntimeEnabled=ExperimentalCanvasFeatures, RaisesException, MeasureAs=OffscreenCanvas] OffscreenCanvas transferControlToOffscreen();
};
