Enter a realm when handling mediasession commands.

This commit is contained in:
Josh Matthews 2020-08-06 14:09:38 -04:00
parent 08328c22d6
commit c6049eda7b

View file

@ -20,7 +20,7 @@ use crate::dom::bindings::str::DOMString;
use crate::dom::htmlmediaelement::HTMLMediaElement; use crate::dom::htmlmediaelement::HTMLMediaElement;
use crate::dom::mediametadata::MediaMetadata; use crate::dom::mediametadata::MediaMetadata;
use crate::dom::window::Window; use crate::dom::window::Window;
use crate::realms::{AlreadyInRealm, InRealm}; use crate::realms::{enter_realm, InRealm};
use dom_struct::dom_struct; use dom_struct::dom_struct;
use embedder_traits::MediaMetadata as EmbedderMediaMetadata; use embedder_traits::MediaMetadata as EmbedderMediaMetadata;
use embedder_traits::MediaSessionEvent; use embedder_traits::MediaSessionEvent;
@ -80,8 +80,8 @@ impl MediaSession {
if let Some(media) = self.media_instance.get() { if let Some(media) = self.media_instance.get() {
match action { match action {
MediaSessionActionType::Play => { MediaSessionActionType::Play => {
let in_realm_proof = AlreadyInRealm::assert(&self.global()); let realm = enter_realm(self);
media.Play(InRealm::Already(&in_realm_proof)); media.Play(InRealm::Entered(&realm));
}, },
MediaSessionActionType::Pause => { MediaSessionActionType::Pause => {
media.Pause(); media.Pause();