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