From 82339a92958d91ec387feb3d15be51eb11f9626b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Fri, 10 May 2019 20:52:25 +0200 Subject: [PATCH] Do not try to render controls if they are already rendered --- components/script/dom/htmlmediaelement.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 256199ca1f0..3d9c5ce516b 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1731,12 +1731,12 @@ impl HTMLMediaElement { } fn render_controls(&self) { - if self.ready_state.get() < ReadyState::HaveMetadata { + let element = self.htmlelement.upcast::(); + if self.ready_state.get() < ReadyState::HaveMetadata || element.is_shadow_host() { + // Bail out if we have no metadata yet or + // if we are already showing the controls. return; } - // XXX cannot render controls while parsing. - // XXX check that controls are not already rendered. - let element = self.htmlelement.upcast::(); if let Ok(shadow_root) = element.attach_shadow(IsUserAgentWidget::Yes) { let document = document_from_node(self); let script = HTMLScriptElement::new(