diff options
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 079bbd9d4bd..fcf2b4dda4c 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1147,15 +1147,16 @@ impl HTMLMediaElement { action_receiver.to_opaque(), Box::new(move |message| { let event: PlayerEvent = message.to().unwrap(); + trace!("Player event {:?}", event); let this = trusted_node.clone(); - task_source - .queue_with_canceller( - task!(handle_player_event: move || { - this.root().handle_player_event(&event); - }), - &canceller, - ) - .unwrap(); + if let Err(err) = task_source.queue_with_canceller( + task!(handle_player_event: move || { + this.root().handle_player_event(&event); + }), + &canceller, + ) { + warn!("Could not queue player event handler task {:?}", err); + } }), ); @@ -1489,6 +1490,14 @@ impl HTMLMediaElement { } } +impl Drop for HTMLMediaElement { + fn drop(&mut self) { + if let Err(err) = self.player.shutdown() { + warn!("Error shutting down player {:?}", err); + } + } +} + impl HTMLMediaElementMethods for HTMLMediaElement { // https://html.spec.whatwg.org/multipage/#dom-media-networkstate fn NetworkState(&self) -> u16 { |