mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
MediaSession API DOM bindings
This commit is contained in:
parent
7da8d75a7e
commit
4b5b4d19bf
6 changed files with 262 additions and 0 deletions
|
@ -12,6 +12,7 @@ use crate::dom::bindings::str::DOMString;
|
|||
use crate::dom::bluetooth::Bluetooth;
|
||||
use crate::dom::gamepadlist::GamepadList;
|
||||
use crate::dom::mediadevices::MediaDevices;
|
||||
use crate::dom::mediasession::MediaSession;
|
||||
use crate::dom::mimetypearray::MimeTypeArray;
|
||||
use crate::dom::navigatorinfo;
|
||||
use crate::dom::permissions::Permissions;
|
||||
|
@ -34,6 +35,7 @@ pub struct Navigator {
|
|||
mediadevices: MutNullableDom<MediaDevices>,
|
||||
gamepads: MutNullableDom<GamepadList>,
|
||||
permissions: MutNullableDom<Permissions>,
|
||||
mediasession: MutNullableDom<MediaSession>,
|
||||
}
|
||||
|
||||
impl Navigator {
|
||||
|
@ -48,6 +50,7 @@ impl Navigator {
|
|||
mediadevices: Default::default(),
|
||||
gamepads: Default::default(),
|
||||
permissions: Default::default(),
|
||||
mediasession: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -186,4 +189,10 @@ impl NavigatorMethods for Navigator {
|
|||
self.mediadevices
|
||||
.or_init(|| MediaDevices::new(&self.global()))
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/mediasession/#dom-navigator-mediasession
|
||||
fn MediaSession(&self) -> DomRoot<MediaSession> {
|
||||
self.mediasession
|
||||
.or_init(|| MediaSession::new(self.global().as_window()))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue