mirror of
https://github.com/servo/servo
synced 2026-05-05 06:32:13 +02:00
Add Navigator::MediaDevices
This commit is contained in:
@@ -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()))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user