diff options
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 8 |
1 files 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::<Element>(); + 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::<Element>(); if let Ok(shadow_root) = element.attach_shadow(IsUserAgentWidget::Yes) { let document = document_from_node(self); let script = HTMLScriptElement::new( |