// 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/#ImageCaptureAPI

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

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