chromium/third_party/blink/renderer/modules/imagecapture/image_capture.idl

// Copyright 2016 The Chromium Authors
// 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

[Exposed=Window]
interface ImageCapture {
    [CallWith=ExecutionContext, RaisesException, MeasureAs=ImageCaptureConstructor] constructor(MediaStreamTrack track);
    [ImplementedAs=videoStreamTrack] readonly attribute MediaStreamTrack track;

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