| { |
| "api": { |
| "MediaDevices": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices", |
| "spec_url": "https://w3c.github.io/mediacapture-main/#mediadevices", |
| "support": { |
| "chrome": { |
| "version_added": "47" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "33" |
| }, |
| "firefox_android": { |
| "version_added": "36" |
| }, |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": { |
| "version_added": "30" |
| }, |
| "opera_android": { |
| "version_added": "30" |
| }, |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| }, |
| "devicechange_event": { |
| "__compat": { |
| "description": "<code>devicechange</code> event", |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/devicechange_event", |
| "spec_url": [ |
| "https://w3c.github.io/mediacapture-main/#event-mediadevices-devicechange", |
| "https://w3c.github.io/mediacapture-main/#dom-mediadevices-ondevicechange" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "57" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "52" |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": { |
| "version_added": "34" |
| }, |
| "opera_android": { |
| "version_added": "43" |
| }, |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "enumerateDevices": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices", |
| "spec_url": "https://w3c.github.io/mediacapture-main/#dom-mediadevices-enumeratedevices", |
| "support": { |
| "chrome": { |
| "version_added": "47" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": [ |
| { |
| "version_added": "116", |
| "notes": "<code>enumerateDevices()</code> enumerates both input and output devices. Previously only input devices were returned." |
| }, |
| { |
| "version_added": "39", |
| "partial_implementation": true, |
| "notes": "<code>enumerateDevices()</code> only returns input devices." |
| } |
| ], |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "getDisplayMedia": { |
| "__compat": { |
| "description": "<code>getDisplayMedia()</code>", |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia", |
| "spec_url": "https://w3c.github.io/mediacapture-screen-share/#dom-mediadevices-getdisplaymedia", |
| "support": { |
| "chrome": { |
| "version_added": "72" |
| }, |
| "chrome_android": { |
| "version_added": false, |
| "notes": "From Chrome Android 72 to 88, this method was exposed, but always failed with <code>NotAllowedError</code>. See <a href='https://crbug.com/487935'>bug 487935</a>." |
| }, |
| "edge": [ |
| { |
| "version_added": "79" |
| }, |
| { |
| "version_added": "17", |
| "version_removed": "79", |
| "partial_implementation": true, |
| "notes": "Available as a member of <code>Navigator</code> instead of <code>MediaDevices</code>." |
| } |
| ], |
| "firefox": [ |
| { |
| "version_added": "66" |
| }, |
| { |
| "version_added": "33", |
| "version_removed": "66", |
| "notes": "Since Firefox 33 you can capture screen data using <code><a href='https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia'>getUserMedia()</a></code>, with a <code>video</code> constraint called <code>mediaSource</code>. Before 52 it relied on a client-configurable list of allowed sites." |
| } |
| ], |
| "firefox_android": { |
| "version_added": false, |
| "notes": "From Firefox Android 66 to 79, this method was exposed, but always failed with <code>NotAllowedError</code>." |
| }, |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "13" |
| }, |
| "safari_ios": { |
| "version_added": false |
| }, |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| }, |
| "audio_capture_support": { |
| "__compat": { |
| "description": "Audio capture support", |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/Screen_Capture_API/Using_Screen_Capture#Capturing_shared_audio", |
| "support": { |
| "chrome": { |
| "version_added": "74", |
| "notes": "On Windows and ChromeOS the entire system audio can be captured, but on Linux and macOS only the audio of a tab can be captured." |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": { |
| "version_added": "≤79", |
| "notes": "On Windows, the entire system audio can be captured, but on Linux and macOS only the audio of a tab can be captured." |
| }, |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": { |
| "version_added": "62", |
| "notes": "On Windows, the entire system audio can be captured, but on Linux and macOS only the audio of a tab can be captured." |
| }, |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "controller_option": { |
| "__compat": { |
| "description": "<code>controller</code> option", |
| "spec_url": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-controller", |
| "support": { |
| "chrome": { |
| "version_added": "109" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "preferCurrentTab_option": { |
| "__compat": { |
| "description": "<code>preferCurrentTab</code> option", |
| "support": { |
| "chrome": { |
| "version_added": "94", |
| "notes": "Default value = <code>false</code>" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": false, |
| "deprecated": false |
| } |
| } |
| }, |
| "selfBrowserSurface_option": { |
| "__compat": { |
| "description": "<code>selfBrowserSurface</code> option", |
| "spec_url": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-selfbrowsersurface", |
| "support": { |
| "chrome": [ |
| { |
| "version_added": "112", |
| "notes": "Default value = <code>exclude</code>" |
| }, |
| { |
| "version_added": "107", |
| "version_removed": "111", |
| "notes": "Default value = <code>include</code>" |
| } |
| ], |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "surfaceSwitching_option": { |
| "__compat": { |
| "description": "<code>surfaceSwitching</code> option", |
| "spec_url": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-surfaceswitching", |
| "support": { |
| "chrome": { |
| "version_added": "107", |
| "notes": "Default value = <code>exclude</code>" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "systemAudio_option": { |
| "__compat": { |
| "description": "<code>systemAudio</code> option", |
| "spec_url": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-systemaudio", |
| "support": { |
| "chrome": { |
| "version_added": "105", |
| "notes": "Default value = <code>include</code>" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| } |
| }, |
| "getSupportedConstraints": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getSupportedConstraints", |
| "spec_url": "https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints", |
| "support": { |
| "chrome": { |
| "version_added": "53" |
| }, |
| "chrome_android": { |
| "version_added": "52" |
| }, |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "44" |
| }, |
| "firefox_android": { |
| "version_added": "50" |
| }, |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": { |
| "version_added": "53" |
| } |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "getUserMedia": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia", |
| "spec_url": "https://w3c.github.io/mediacapture-main/#dom-mediadevices-getusermedia", |
| "support": { |
| "chrome": { |
| "version_added": "53", |
| "notes": "If you need this capability before version 53, refer to <code>navigator.webkitGetUserMedia</code>, a prefixed form of the deprecated <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API." |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "36", |
| "notes": [ |
| "If you need this capability before version 36, refer to <code>navigator.mozGetUserMedia</code>, a prefixed form of the deprecated <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API.", |
| "Before Firefox 55, <code>getUserMedia()</code> incorrectly returns <code>NotSupportedError</code> when the list of constraints specified is empty, or has all constraints set to <code>false</code>. Starting in Firefox 55, this situation now correctly calls the failure handler with a <code>TypeError</code>.", |
| "When using the Firefox-specific <code>video</code> constraint called <code>mediaSource</code> to request display capture, Firefox 66 and later consider values of <code>screen</code> and <code>window</code> to both cause a list of screens <em>and</em> windows to be shown.", |
| "Starting in Firefox 66, <code>getUserMedia()</code> can no longer be used in sandboxed <code><iframe></code>s or <code>data</code> URLs entered in the address bar by the user." |
| ] |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": { |
| "version_added": "6.0" |
| }, |
| "webview_android": { |
| "version_added": "53" |
| } |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| }, |
| "secure_context_required": { |
| "__compat": { |
| "description": "Secure context required", |
| "support": { |
| "chrome": { |
| "version_added": "53" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "68" |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| } |
| }, |
| "selectAudioOutput": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/selectAudioOutput", |
| "spec_url": "https://w3c.github.io/mediacapture-output/#dom-mediadevices-selectaudiooutput", |
| "support": { |
| "chrome": { |
| "version_added": false |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "116" |
| }, |
| "firefox_android": { |
| "version_added": false |
| }, |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "setCaptureHandleConfig": { |
| "__compat": { |
| "spec_url": "https://w3c.github.io/mediacapture-handle/identity/#dom-mediadevices-setcapturehandleconfig", |
| "support": { |
| "chrome": { |
| "version_added": "102" |
| }, |
| "chrome_android": { |
| "version_added": false |
| }, |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "ie": { |
| "version_added": false |
| }, |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| } |
| } |
| } |
| } |