diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-05-10 20:52:25 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-07-22 17:40:15 +0200 |
commit | 82339a92958d91ec387feb3d15be51eb11f9626b (patch) | |
tree | f93265c2898f9f73aec7455c5ef32917d124ffcc /components/script/dom/htmlmediaelement.rs | |
parent | 3a99c6ba6ae61245f7eb2fdaa84cc378987baf35 (diff) | |
download | servo-82339a92958d91ec387feb3d15be51eb11f9626b.tar.gz servo-82339a92958d91ec387feb3d15be51eb11f9626b.zip |
Do not try to render controls if they are already rendered
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( |