diff options
-rw-r--r-- | components/script/dom/navigator.rs | 8 | ||||
-rw-r--r-- | components/script/dom/webidls/MediaDevices.webidl | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs index 1d60759f1d7..49d7646b3c8 100644 --- a/components/script/dom/navigator.rs +++ b/components/script/dom/navigator.rs @@ -10,6 +10,7 @@ use crate::dom::bindings::root::{DomRoot, MutNullableDom}; use crate::dom::bindings::str::DOMString; use crate::dom::bluetooth::Bluetooth; use crate::dom::gamepadlist::GamepadList; +use crate::dom::mediadevices::MediaDevices; use crate::dom::mimetypearray::MimeTypeArray; use crate::dom::navigatorinfo; use crate::dom::permissions::Permissions; @@ -29,6 +30,7 @@ pub struct Navigator { mime_types: MutNullableDom<MimeTypeArray>, service_worker: MutNullableDom<ServiceWorkerContainer>, xr: MutNullableDom<XR>, + mediadevices: MutNullableDom<MediaDevices>, gamepads: MutNullableDom<GamepadList>, permissions: MutNullableDom<Permissions>, } @@ -42,6 +44,7 @@ impl Navigator { mime_types: Default::default(), service_worker: Default::default(), xr: Default::default(), + mediadevices: Default::default(), gamepads: Default::default(), permissions: Default::default(), } @@ -161,4 +164,9 @@ impl NavigatorMethods for Navigator { fn Xr(&self) -> DomRoot<XR> { self.xr.or_init(|| XR::new(&self.global())) } + + /// https://w3c.github.io/mediacapture-main/#dom-navigator-mediadevices + fn MediaDevices(&self) -> DomRoot<MediaDevices> { + self.mediadevices.or_init(|| MediaDevices::new(&self.global())) + } } diff --git a/components/script/dom/webidls/MediaDevices.webidl b/components/script/dom/webidls/MediaDevices.webidl index d22dbb2dff4..da877bde267 100644 --- a/components/script/dom/webidls/MediaDevices.webidl +++ b/components/script/dom/webidls/MediaDevices.webidl @@ -13,7 +13,7 @@ interface MediaDevices : EventTarget { partial interface Navigator { // [SameObject, SecureContext] - // readonly attribute MediaDevices mediaDevices; + [Pref="dom.webrtc.enabled"] readonly attribute MediaDevices mediaDevices; }; partial interface MediaDevices { |