// 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 [ Exposed=Window, ActiveScriptWrappable, SecureContext ] interface MediaDevices : EventTarget { [RuntimeEnabled=OnDeviceChange] attribute EventHandler ondevicechange; [ CallWith = ScriptState, RaisesException, HighEntropy, MeasureAs = MediaDevicesEnumerateDevices ] Promise> enumerateDevices(); MediaTrackSupportedConstraints getSupportedConstraints(); [ CallWith = ScriptState, RaisesException, MeasureAs = GetUserMediaPromise ] Promise getUserMedia(optional MediaStreamConstraints constraints = {}); // https://w3c.github.io/mediacapture-screen-share/#dom-mediadevices-getdisplaymedia [ RuntimeEnabled = GetDisplayMedia, CallWith = ScriptState, RaisesException, MeasureAs = GetDisplayMedia ] Promise getDisplayMedia(optional MediaStreamConstraints constraints = {}); };