diff options
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index b38f796e57c..7a94768c13a 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -33,7 +33,6 @@ use std::cell::Cell; use std::sync::{Arc, Mutex}; use string_cache::Atom; use task_source::TaskSource; -use task_source::dom_manipulation::DOMManipulationTask; use time::{self, Timespec, Duration}; use url::Url; @@ -238,11 +237,11 @@ impl HTMLMediaElement { } } - let task = Task { + let task = box Task { elem: Trusted::new(self), }; let win = window_from_node(self); - let _ = win.dom_manipulation_task_source().queue(DOMManipulationTask::Runnable(box task)); + let _ = win.dom_manipulation_task_source().queue(task, GlobalRef::Window(&win)); } // https://html.spec.whatwg.org/multipage/#internal-pause-steps step 2.2 @@ -262,17 +261,17 @@ impl HTMLMediaElement { } } - let task = Task { + let task = box Task { elem: Trusted::new(self), }; let win = window_from_node(self); - let _ = win.dom_manipulation_task_source().queue(DOMManipulationTask::Runnable(box task)); + let _ = win.dom_manipulation_task_source().queue(task, GlobalRef::Window(&win)); } fn queue_fire_simple_event(&self, type_: &'static str) { let win = window_from_node(self); - let task = FireSimpleEventTask::new(self, type_); - let _ = win.dom_manipulation_task_source().queue(DOMManipulationTask::Runnable(box task)); + let task = box FireSimpleEventTask::new(self, type_); + let _ = win.dom_manipulation_task_source().queue(task, GlobalRef::Window(&win)); } fn fire_simple_event(&self, type_: &str) { @@ -498,8 +497,9 @@ impl HTMLMediaElement { } fn queue_dedicated_media_source_failure_steps(&self) { - let _ = window_from_node(self).dom_manipulation_task_source().queue( - DOMManipulationTask::Runnable(box DedicatedMediaSourceFailureTask::new(self))); + let window = window_from_node(self); + let _ = window.dom_manipulation_task_source().queue(box DedicatedMediaSourceFailureTask::new(self), + GlobalRef::Window(&window)); } // https://html.spec.whatwg.org/multipage/#dedicated-media-source-failure-steps @@ -801,6 +801,8 @@ impl PauseIfNotInDocumentTask { } impl Runnable for PauseIfNotInDocumentTask { + fn name(&self) -> &'static str { "PauseIfNotInDocumentTask" } + fn handler(self: Box<PauseIfNotInDocumentTask>) { let elem = self.elem.root(); if !elem.upcast::<Node>().is_in_doc() { |