diff options
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 515ead5c228..5eb9f709838 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -62,7 +62,7 @@ use crate::dom::virtualmethods::VirtualMethods; use crate::fetch::{create_a_potential_cors_request, FetchCanceller}; use crate::microtask::{Microtask, MicrotaskRunnable}; use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingListener}; -use crate::realms::InRealm; +use crate::realms::{enter_realm, InRealm}; use crate::script_thread::ScriptThread; use crate::task_source::TaskSource; use dom_struct::dom_struct; @@ -74,6 +74,7 @@ use html5ever::{LocalName, Prefix}; use http::header::{self, HeaderMap, HeaderValue}; use ipc_channel::ipc; use ipc_channel::router::ROUTER; +use js::jsapi::JSAutoRealm; use media::{glplayer_channel, GLPlayerMsg, GLPlayerMsgForward, WindowGLContext}; use net_traits::image::base::Image; use net_traits::request::Destination; @@ -2506,6 +2507,14 @@ impl MicrotaskRunnable for MediaElementMicrotask { }, } } + + fn enter_realm(&self) -> JSAutoRealm { + match self { + &MediaElementMicrotask::ResourceSelectionTask { ref elem, .. } | + &MediaElementMicrotask::PauseIfNotInDocumentTask { ref elem } | + &MediaElementMicrotask::SeekedTask { ref elem, .. } => enter_realm(&**elem), + } + } } enum Resource { |