// 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://w3c.github.io/mediacapture-image/index.html

[
    ActiveScriptWrappable,
    ConstructorCallWith=ExecutionContext,
    Constructor(MediaStreamTrack track),
    RaisesException=Constructor,
    RuntimeEnabled=ImageCapture,
] interface ImageCapture {
    readonly attribute MediaStreamTrack videoStreamTrack;

    [CallWith=ScriptState, RaisesException] Promise<PhotoCapabilities> getPhotoCapabilities();
    [CallWith=ScriptState, RaisesException] Promise<void> setOptions(PhotoSettings photoSettings);
    [CallWith=ScriptState, RaisesException] Promise<Blob> takePhoto();
    [CallWith=ScriptState, RaisesException] Promise<ImageBitmap> grabFrame();
};
