From 0eb2c1d02ea7fbd868bfefb4674599816450b3a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Thu, 11 Apr 2019 09:02:23 +0200 Subject: [PATCH] Do not tie media element 'muted' state change to player availability --- components/script/dom/htmlmediaelement.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index e89389fd253..29f55999f7f 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1611,17 +1611,19 @@ impl HTMLMediaElementMethods for HTMLMediaElement { if self.muted.get() == value { return; } + if let Some(ref player) = *self.player.borrow() { - self.muted.set(value); let _ = player.set_mute(value); - let window = window_from_node(self); - window - .task_manager() - .media_element_task_source() - .queue_simple_event(self.upcast(), atom!("volumechange"), &window); - if !self.is_allowed_to_play() { - self.internal_pause_steps(); - } + } + + self.muted.set(value); + let window = window_from_node(self); + window + .task_manager() + .media_element_task_source() + .queue_simple_event(self.upcast(), atom!("volumechange"), &window); + if !self.is_allowed_to_play() { + self.internal_pause_steps(); } }