For a given set of browsers what APIs are still considred experimental, and how long have they been experimental?
Below is a list of features that are marked as "Experimental" in Firefox and Safari
| API | First Browser | Date | Last Browser | Date | Days in experimentation | Notes |
|---|---|---|---|---|---|---|
| api.AudioSession 📋 | Safari | 3/27/2023 | 1224 | |||
| api.AudioSession.type 📋 | Safari | 3/27/2023 | 1224 | |||
| api.BarcodeDetector 📋 | Safari | 9/18/2023 | 1049 | Chrome: Supported on ChromeOS and macOS only.Chrome: Before Chrome 113, on macOS Ventura (13) and above, this interface silently failed. See bug 40245611.Chrome: Supported on macOS only.Edge: Supported on macOS only.Edge: Before Chrome 113, on macOS Ventura (13) and above, this interface silently failed. See bug 40245611.Opera: Supported on macOS only.Opera: Before Chrome 113, on macOS Ventura (13) and above, this interface silently failed. See bug 40245611. | ||
| api.BarcodeDetector.BarcodeDetector 📋 | Safari | 9/18/2023 | 1049 | Chrome: Supported on ChromeOS and macOS only.Chrome: Supported on macOS only.Edge: Supported on macOS only.Opera: Supported on macOS only. | ||
| api.BarcodeDetector.detect 📋 | Safari | 9/18/2023 | 1049 | Chrome: Supported on ChromeOS and macOS only.Chrome: Supported on macOS only.Edge: Supported on macOS only.Opera: Supported on macOS only. | ||
| api.BarcodeDetector.getSupportedFormats_static 📋 | Safari | 9/18/2023 | 1049 | Chrome: Supported on ChromeOS and macOS only.Chrome: Supported on macOS only.Edge: Supported on macOS only.Opera: Supported on macOS only. | ||
| api.BufferedChangeEvent 📋 | Safari | 9/18/2023 | 1049 | |||
| api.BufferedChangeEvent.BufferedChangeEvent 📋 | Safari | 9/18/2023 | 1049 | |||
| api.BufferedChangeEvent.addedRanges 📋 | Safari | 9/18/2023 | 1049 | |||
| api.BufferedChangeEvent.removedRanges 📋 | Safari | 9/18/2023 | 1049 | |||
| api.CSSPageDescriptors 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.margin 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.margin-bottom 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.margin-left 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.margin-right 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.margin-top 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.marginBottom 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.marginLeft 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.marginRight 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.marginTop 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.page-orientation 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.pageOrientation 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageDescriptors.size 📋 | Firefox | 8/6/2024 | 726 | |||
| api.CSSPageRule.style.type_CSSPageDescriptors | Firefox | 8/6/2024 | 726 | |||
| api.CSSPositionTryDescriptors 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.align-self 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.alignSelf 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.block-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.blockSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.bottom 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.height 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inline-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inlineSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-block 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-block-end 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-block-start 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-inline 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-inline-end 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.inset-inline-start 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetBlock 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetBlockEnd 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetBlockStart 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetInline 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetInlineEnd 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.insetInlineStart 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.justify-self 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.justifySelf 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.left 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-block 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-block-end 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-block-start 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-bottom 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-inline 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-inline-end 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-inline-start 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-left 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-right 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.margin-top 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginBlock 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginBlockEnd 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginBlockStart 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginBottom 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginInline 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginInlineEnd 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginInlineStart 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginLeft 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginRight 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.marginTop 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.max-block-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.max-height 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.max-inline-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.max-width 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.maxBlockSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.maxHeight 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.maxInlineSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.maxWidth 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.min-block-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.min-height 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.min-inline-size 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.min-width 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.minBlockSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.minHeight 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.minInlineSize 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.minWidth 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.place-self 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.placeSelf 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.position-anchor 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.position-area 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.positionAnchor 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.positionArea 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.right 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.top 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryDescriptors.width 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryRule 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryRule.name 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPositionTryRule.style 📋 | Firefox | 10/1/2024 | 670 | |||
| api.CSSPseudoElement 📋 | Firefox | 4/7/2020 | 2308 | |||
| api.CSSPseudoElement.element 📋 | Firefox | 4/7/2020 | 2308 | |||
| api.CSSPseudoElement.type 📋 | Firefox | 4/7/2020 | 2308 | |||
| api.CloseWatcher 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.CloseWatcher 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.cancel_event 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.close 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.close_event 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.destroy 📋 | Firefox | 10/29/2024 | 642 | |||
| api.CloseWatcher.requestClose 📋 | Firefox | 10/29/2024 | 642 | |||
| api.Credential.isConditionalMediationAvailable_static 📋 | Safari | 9/12/2022 | 1420 | |||
| api.DataCue 📋 | Safari | 9/19/2017 | 3239 | |||
| api.DataCue.DataCue 📋 | Safari | 9/19/2017 | 3239 | |||
| api.DataCue.type 📋 | Safari | 9/19/2017 | 3239 | |||
| api.DataCue.value 📋 | Safari | 9/19/2017 | 3239 | |||
| api.DataTransfer.addElement | Firefox | 6/30/2009 | 6242 | |||
| api.DataTransfer.mozCursor | Firefox | 6/30/2009 | 6242 | |||
| api.DataTransfer.mozSourceNode | Firefox | 3/22/2011 | 5612 | |||
| api.DataTransfer.mozUserCancelled | Firefox | 6/30/2009 | 6242 | |||
| api.DeprecationReportBody 📋 | Firefox | 1/29/2019 | 2742 | Firefox: Not supported in workers | ||
| api.DeprecationReportBody.anticipatedRemoval 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.DeprecationReportBody.columnNumber 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.DeprecationReportBody.id 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.DeprecationReportBody.lineNumber 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.DeprecationReportBody.message 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.DeprecationReportBody.sourceFile 📋 | Firefox | 1/29/2019 | 2742 | |||
| api.Directory | Firefox | 6/10/2014 | 4436 | |||
| api.Directory.getFiles | Firefox | 8/2/2016 | 3652 | |||
| api.Directory.getFilesAndDirectories | Firefox | 11/3/2015 | 3925 | |||
| api.Directory.name | Firefox | 6/10/2014 | 4436 | |||
| api.Directory.path | Firefox | 11/3/2015 | 3925 | |||
| api.Document.featurePolicy | Firefox | 9/3/2019 | 2525 | |||
| api.Document.getBoxQuads 📋 | Firefox | 7/22/2014 | 4394 | |||
| api.Element.animate.options_iterationComposite_parameter 📋 | Firefox | 8/25/2020 | 2168 | |||
| api.Element.ariaActiveDescendantElement 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaControlsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaDescribedByElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaDetailsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaErrorMessageElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaFlowToElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaLabelledByElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.ariaOwnsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Element.getBoxQuads 📋 | Firefox | 7/22/2014 | 4394 | |||
| api.ElementInternals.ariaActiveDescendantElement 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaControlsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaDescribedByElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaDetailsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaErrorMessageElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaFlowToElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaLabelledByElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.ElementInternals.ariaOwnsElements 📋 | Safari | 3/27/2023 | 1224 | |||
| api.FeaturePolicy | Firefox | 1/29/2019 | 2742 | |||
| api.FeaturePolicy.allowedFeatures | Firefox | 1/29/2019 | 2742 | |||
| api.FeaturePolicy.allowsFeature | Firefox | 1/29/2019 | 2742 | |||
| api.FeaturePolicy.features | Firefox | 10/22/2019 | 2476 | |||
| api.FeaturePolicy.getAllowlistForFeature | Firefox | 1/29/2019 | 2742 | |||
| api.FetchEvent.respondWith.resource_url | Firefox | 3/13/2018 | 3064 | |||
| api.FontFace.variationSettings 📋 | Firefox | 9/5/2018 | 2888 | |||
| api.Gamepad.hand 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.Gamepad.hapticActuators 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.Gamepad.pose 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.Gamepad.secure_context_required | Firefox | 8/10/2021 | 1818 | |||
| api.GamepadButton.secure_context_required | Firefox | 8/10/2021 | 1818 | |||
| api.GamepadEvent.secure_context_required | Firefox | 8/10/2021 | 1818 | |||
| api.GamepadPose 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.angularAcceleration 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.angularVelocity 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.hasOrientation 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.hasPosition 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.linearAcceleration 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.linearVelocity 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.orientation 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.position 📋 | Firefox | 8/8/2017 | 3281 | |||
| api.GamepadPose.secure_context_required | Firefox | 8/10/2021 | 1818 | |||
| api.HTMLAnchorElement.attributionSourceId 📋 | Safari | 3/14/2022 | 1602 | |||
| api.HTMLElement.autocorrect 📋 | Safari | 4/26/2021 | 1924 | |||
| api.HTMLElement.focus.options_focusVisible_parameter | Firefox | 8/23/2022 | 1440 | |||
| api.HTMLIFrameElement.featurePolicy | Firefox | 9/3/2019 | 2525 | |||
| api.HTMLInputElement.selectionchange_event 📋 | Firefox | 9/7/2021 | 1790 | Chrome: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Chrome Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Edge: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Quest Browser: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Opera: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Opera Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.Samsung Internet: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements.WebView Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <input> elements. | ||
| api.HTMLOutputElement.HTMLOutputElement 📋 | Safari | 9/20/2021 | 1777 | |||
| api.HTMLTextAreaElement.selectionchange_event 📋 | Firefox | 9/7/2021 | 1790 | Chrome: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Chrome Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Edge: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Quest Browser: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Opera: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Opera Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.Samsung Internet: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements.WebView Android: A selectionchange event is fired on Document, see Document's selectionchange event. See bug 40840956 for firing the event on <textarea> elements. | ||
| api.IDBDatabase.transaction.mode_parameter_readwriteflush | Firefox | 8/11/2015 | 4009 | |||
| api.ImageCapture 📋 | Firefox | 1/13/2015 | Safari | 3/5/2024 | 3339 | |
| api.ImageCapture.ImageCapture 📋 | Firefox | 1/13/2015 | Safari | 3/5/2024 | 3339 | |
| api.ImageCapture.getPhotoCapabilities 📋 | Safari | 3/5/2024 | 880 | |||
| api.ImageCapture.getPhotoSettings 📋 | Safari | 3/5/2024 | 880 | |||
| api.ImageCapture.takePhoto 📋 | Firefox | 1/13/2015 | Safari | 3/5/2024 | 3339 | Chrome: photoSettings parameter not supported.Chrome Android: photoSettings parameter not supported.Opera: photoSettings parameter not supported.Opera Android: photoSettings parameter not supported.Samsung Internet: photoSettings parameter not supported.WebView Android: photoSettings parameter not supported. |
| api.ImageCapture.track 📋 | Firefox | 1/13/2015 | Safari | 3/5/2024 | 3339 | |
| api.InputEvent.inputType.insertFromPasteAsQuotation | Firefox | 5/21/2019 | 2630 | |||
| api.IntersectionObserverEntry.IntersectionObserverEntry | Safari | 3/25/2019 | 2687 | |||
| api.ManagedMediaSource 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedMediaSource.ManagedMediaSource 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedMediaSource.endstreaming_event 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedMediaSource.startstreaming_event 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedMediaSource.streaming 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedSourceBuffer 📋 | Safari | 9/18/2023 | 1049 | |||
| api.ManagedSourceBuffer.bufferedchange_event 📋 | Safari | 9/18/2023 | 1049 | |||
| api.MediaDevices.selectAudioOutput 📋 | Firefox | 8/1/2023 | 1097 | |||
| api.Navigator.audioSession 📋 | Safari | 3/27/2023 | 1224 | |||
| api.Navigator.getAutoplayPolicy 📋 | Firefox | 4/11/2023 | 1209 | |||
| api.Navigator.getGamepads.secure_context_required | Firefox | 8/10/2021 | 1818 | |||
| api.Navigator.globalPrivacyControl 📋 | Firefox | 11/21/2023 | 985 | Firefox: Opt-in to GPC using the Website Privacy Preference setting ( about:preferences#privacy) checkbox 'Tell websites not to sell or share my data', or by setting the preference privacy.globalprivacycontrol.enabled to true. | ||
| api.Navigator.registerProtocolHandler.scheme_parameter_ftp | Firefox | 3/8/2022 | 1608 | |||
| api.Navigator.registerProtocolHandler.scheme_parameter_ftps | Firefox | 3/8/2022 | 1608 | |||
| api.Navigator.registerProtocolHandler.scheme_parameter_sftp | Firefox | 3/8/2022 | 1608 | |||
| api.PerformanceResourceTiming.contentType 📋 | Firefox | 8/6/2024 | 726 | |||
| api.PushSubscriptionChangeEvent.PushSubscriptionChangeEvent 📋 | Safari | 10/24/2022 | 1378 | Safari on iOS: Notifications are supported in web apps saved to the home screen.WebView on iOS: Notifications are supported in web apps saved to the home screen. | ||
| api.RTCDataChannel.priority 📋 | Safari | 9/20/2021 | 1777 | |||
| api.RTCIdentityAssertion 📋 | Firefox | 8/11/2015 | 4009 | Firefox: The RTCIdentityAssertion interface itself is not present, but an object with the same properties is usedFirefox for Android: The RTCIdentityAssertion interface itself is not present, but an object with the same properties is used | ||
| api.RTCIdentityAssertion.idp 📋 | Firefox | 8/11/2015 | 4009 | |||
| api.RTCIdentityAssertion.name 📋 | Firefox | 8/11/2015 | 4009 | |||
| api.RTCStatsReport.type_outbound-rtp.totalEncodedBytesTarget 📋 | Firefox | 6/28/2022 | 1496 | |||
| api.RTCStatsReport.type_remote-inbound-rtp.packetsReceived 📋 | Firefox | 1/7/2020 | 2399 | |||
| api.ReadableStream.from_static 📋 | Firefox | 8/29/2023 | 1069 | |||
| api.ReadableStreamBYOBReader.read.options_min_parameter 📋 | Firefox | 1/7/2025 | 572 | |||
| api.ReportingObserver.worker_support | Firefox | 6/2/2020 | 2252 | |||
| api.SVGScriptElement.async | Firefox | 8/29/2023 | 1069 | |||
| api.SVGScriptElement.defer | Firefox | 8/29/2023 | 1069 | |||
| api.Selection.getComposedRanges 📋 | Safari | 9/18/2023 | 1049 | |||
| api.SourceBuffer.appendBufferAsync | Firefox | 9/5/2018 | 2888 | |||
| api.SourceBuffer.removeAsync | Firefox | 9/5/2018 | 2888 | |||
| api.SourceBuffer.textTracks 📋 | Safari | 10/16/2014 | 4308 | Safari on iOS: Exposed in Mobile Safari on iPad but not on iPhone. | ||
| api.SpeechGrammar 📋 | Firefox | 1/26/2016 | 3841 | Firefox: Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out. | ||
| api.SpeechGrammar.SpeechGrammar | Firefox | 1/26/2016 | 3841 | Firefox: Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out. | ||
| api.SpeechGrammar.src 📋 | Firefox | 1/26/2016 | 3841 | Firefox: Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out. | ||
| api.SpeechGrammar.weight 📋 | Firefox | 1/26/2016 | 3841 | Firefox: Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out. | ||
| api.SpeechRecognitionErrorEvent.SpeechRecognitionErrorEvent 📋 | Safari | 4/26/2021 | 1924 | |||
| api.SpeechRecognitionEvent.SpeechRecognitionEvent 📋 | Safari | 4/26/2021 | 1924 | |||
| api.Text.getBoxQuads 📋 | Firefox | 7/22/2014 | 4394 | |||
| api.VideoTrackGenerator 📋 | Safari | 9/16/2024 | 685 | |||
| api.VideoTrackGenerator.VideoTrackGenerator 📋 | Safari | 9/16/2024 | 685 | |||
| api.VideoTrackGenerator.muted 📋 | Safari | 9/16/2024 | 685 | |||
| api.VideoTrackGenerator.track 📋 | Safari | 9/16/2024 | 685 | |||
| api.VideoTrackGenerator.writable 📋 | Safari | 9/16/2024 | 685 | |||
| api.WebGLActiveInfo.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLBuffer.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLContextEvent.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLFramebuffer.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLProgram.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLRenderbuffer.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLRenderingContext.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLShader.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLShaderPrecisionFormat.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLTexture.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebGLUniformLocation.worker_support | Firefox | 9/20/2022 | 1412 | |||
| api.WebTransport.WebTransport.options_allowPooling_parameter 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransport.WebTransport.options_congestionControl_parameter 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransport.WebTransport.options_requireUnreliable_parameter 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransport.congestionControl 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransport.createBidirectionalStream.options_sendOrder_parameter 📋 | Firefox | 10/24/2023 | 1013 | |||
| api.WebTransport.createUnidirectionalStream.options_sendOrder_parameter 📋 | Firefox | 10/24/2023 | 1013 | |||
| api.WebTransport.getStats 📋 | Firefox | 6/6/2023 | 1153 | Firefox: Method is defined but throws a not-implemented error.Firefox for Android: Method is defined but throws a not-implemented error. | ||
| api.WebTransport.reliability 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportBidirectionalStream.readable.returns_WebTransportReceiveStream 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportBidirectionalStream.writable.returns_WebTransportSendStream 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportReceiveStream 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportReceiveStream.getStats 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportSendStream 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportSendStream.getStats 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportSendStream.getWriter 📋 | Firefox | 6/6/2023 | 1153 | |||
| api.WebTransportSendStream.sendOrder 📋 | Firefox | 12/19/2023 | 957 | |||
| api.WindowClient.ancestorOrigins 📋 | Safari | 9/12/2022 | 1420 | |||
| api.WorkerNavigator.globalPrivacyControl 📋 | Firefox | 11/21/2023 | 985 | Firefox: Opt-in to GPC by setting the preference privacy.globalprivacycontrol.enabled to true. |