blob: 15f1f88f7dd10b435d2318f12a2f3f6b07883cc8 [file] [log] [blame]
// Copyright 2015 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.
// The spec for MediaDevices is in two parts:
// https://w3c.github.io/mediacapture-main/#mediadevices
// https://w3c.github.io/mediacapture-main/#mediadevices-interface-extensions
[
ActiveScriptWrappable
] interface MediaDevices : EventTarget {
[RuntimeEnabled=OnDeviceChange] attribute EventHandler ondevicechange;
[
CallWith = ScriptState, MeasureAs = MediaDevicesEnumerateDevices
] Promise<sequence<MediaDeviceInfo>>
enumerateDevices();
MediaTrackSupportedConstraints getSupportedConstraints();
[
CallWith = ScriptState, RaisesException, MeasureAs = GetUserMediaPromise
] Promise<MediaStream>
getUserMedia(optional MediaStreamConstraints constraints);
[
RuntimeEnabled = GetDisplayMedia, CallWith = ScriptState, RaisesException
] Promise<MediaStream>
getDisplayMedia(optional MediaStreamConstraints constraints);
};