diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 7d976a9d899..0d66f1d63aa 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -79,9 +79,6 @@ pub struct HTMLMediaElement {
/// Play promises which are soon to be fulfilled by a queued task.
#[ignore_heap_size_of = "promises are hard"]
in_flight_play_promises_queue: DomRefCell]>, ErrorResult)>>,
- /// The details of the video currently related to this media element.
- // FIXME(nox): Why isn't this in HTMLVideoElement?
- video: DomRefCell>,
}
/// https://html.spec.whatwg.org/multipage/#dom-media-networkstate
@@ -105,17 +102,6 @@ enum ReadyState {
HaveEnoughData = HTMLMediaElementConstants::HAVE_ENOUGH_DATA as u8,
}
-#[derive(HeapSizeOf, JSTraceable)]
-pub struct VideoMedia {
- format: String,
- #[ignore_heap_size_of = "defined in time"]
- duration: Duration,
- width: u32,
- height: u32,
- video: String,
- audio: Option,
-}
-
impl HTMLMediaElement {
pub fn new_inherited(
tag_name: LocalName,
@@ -136,7 +122,6 @@ impl HTMLMediaElement {
delaying_the_load_event_flag: Default::default(),
pending_play_promises: Default::default(),
in_flight_play_promises_queue: Default::default(),
- video: DomRefCell::new(None),
}
}
@@ -1111,23 +1096,10 @@ impl HTMLMediaElementContext {
}
fn check_metadata(&mut self, elem: &HTMLMediaElement) {
- match audio_video_metadata::get_format_from_slice(&self.data) {
- Ok(audio_video_metadata::Metadata::Video(meta)) => {
- let dur = meta.audio.duration.unwrap_or(::std::time::Duration::new(0, 0));
- *elem.video.borrow_mut() = Some(VideoMedia {
- format: format!("{:?}", meta.format),
- duration: Duration::seconds(dur.as_secs() as i64) +
- Duration::nanoseconds(dur.subsec_nanos() as i64),
- width: meta.dimensions.width,
- height: meta.dimensions.height,
- video: meta.video.unwrap_or("".to_owned()),
- audio: meta.audio.audio,
- });
- // Step 6
- elem.change_ready_state(ReadyState::HaveMetadata);
- self.have_metadata = true;
- }
- _ => {}
+ if audio_video_metadata::get_format_from_slice(&self.data).is_ok() {
+ // Step 6.
+ elem.change_ready_state(ReadyState::HaveMetadata);
+ self.have_metadata = true;
}
}
}
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/audio_loop_base.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/audio_loop_base.html.ini
index 8da86942ad5..7d57f0e066e 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/audio_loop_base.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/audio_loop_base.html.ini
@@ -1,5 +1,6 @@
[audio_loop_base.html]
type: testharness
+ disabled: extreme timeout
[Check if audio.loop is set to true that expecting the seeking event is fired more than once]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/error-codes/error.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/error-codes/error.html.ini
index 28828fd7918..ee39e04f81a 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/error-codes/error.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/error-codes/error.html.ini
@@ -1,8 +1,5 @@
[error.html]
type: testharness
- [audio.error after successful load]
- expected: FAIL
-
[audio.error after setting src to the empty string]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay.html.ini
deleted file mode 100644
index 68c911f9d10..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_canplay.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger canplay event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html.ini
deleted file mode 100644
index 2284a7f5d4a..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_canplay_noautoplay.html]
- type: testharness
- [setting src attribute on non-autoplay audio should trigger canplay event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough.html.ini
deleted file mode 100644
index afa93073b03..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_canplaythrough.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger canplaythrough event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html.ini
deleted file mode 100644
index ce06cfe5a5d..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_canplaythrough_noautoplay.html]
- type: testharness
- [setting src attribute on non-autoplay audio should trigger canplaythrough event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata.html.ini
deleted file mode 100644
index f38a452d0b2..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_loadeddata.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger loadeddata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html.ini
deleted file mode 100644
index 85c747ceabb..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_loadeddata_noautoplay.html]
- type: testharness
- [setting src attribute on non-autoplay audio should trigger loadeddata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata.html.ini
deleted file mode 100644
index 1111573d7d5..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_loadedmetadata.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger loadedmetadata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html.ini
deleted file mode 100644
index bb2d284c99c..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_loadedmetadata_noautoplay.html]
- type: testharness
- [setting src attribute on non-autoplay audio should trigger loadedmetadata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html.ini
deleted file mode 100644
index 349cfd0463e..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_order_canplay_canplaythrough.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger canplay then canplaythrough event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html.ini
deleted file mode 100644
index 134dda1fdf6..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_order_canplay_playing.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger canplay then playing event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html.ini
deleted file mode 100644
index 767a2a5bf71..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_order_loadedmetadata_loadeddata.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger loadedmetadata then loadeddata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html.ini
deleted file mode 100644
index cc248913c3d..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_order_loadstart_progress.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger loadstart then progress event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_pause.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_pause.html.ini
deleted file mode 100644
index b0c318fc3e8..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_pause.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_pause.html]
- type: testharness
- [calling pause() on autoplay audio should trigger pause event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_play.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_play.html.ini
deleted file mode 100644
index 225a5d169ba..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_play.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_play.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger play event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing.html.ini
deleted file mode 100644
index 636f37793fe..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_playing.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger playing event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html.ini
deleted file mode 100644
index 0ac49b31962..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[event_playing_noautoplay.html]
- type: testharness
- expected: TIMEOUT
- [calling play() on audio should trigger playing event]
- expected: NOTRUN
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress.html.ini
deleted file mode 100644
index 05705d8e0a5..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_progress.html]
- type: testharness
- [setting src attribute on autoplay audio should trigger progress event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html.ini
deleted file mode 100644
index 29866c58999..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[event_progress_noautoplay.html]
- type: testharness
- [setting src attribute on non-autoplay audio should trigger progress event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html.ini
index e310be391d9..22d1f1d6900 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html.ini
@@ -2,7 +2,7 @@
type: testharness
expected: TIMEOUT
[calling play() on a sufficiently long audio should trigger timeupdate event]
- expected: FAIL
+ expected: NOTRUN
[calling play() on a sufficiently long video should trigger timeupdate event]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html.ini
deleted file mode 100644
index 566ab27894d..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html.ini
+++ /dev/null
@@ -1,14 +0,0 @@
-[autoplay-overrides-preload.html]
- type: testharness
- [autoplay (set first) overrides preload "none"]
- expected: FAIL
-
- [autoplay (set last) overrides preload "none"]
- expected: FAIL
-
- [autoplay (set first) overrides preload "metadata"]
- expected: FAIL
-
- [autoplay (set last) overrides preload "metadata"]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini
deleted file mode 100644
index 0afc8a5b5fc..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[load-events-networkState.html]
- type: testharness
- [NETWORK_IDLE]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/networkState_during_progress.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/networkState_during_progress.html.ini
deleted file mode 100644
index 0e4c506ece7..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/networkState_during_progress.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[networkState_during_progress.html]
- type: testharness
- [audioElement.networkState should be NETWORK_LOADING during progress event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/paused_false_during_play.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/paused_false_during_play.html.ini
deleted file mode 100644
index 0897ac3cc12..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/paused_false_during_play.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[paused_false_during_play.html]
- type: testharness
- [audio.paused should be false during play event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/ready-states/autoplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/ready-states/autoplay.html.ini
deleted file mode 100644
index 3b7851d22d4..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/ready-states/autoplay.html.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-[autoplay.html]
- type: testharness
- [audio.autoplay]
- expected: FAIL
-
- [audio.autoplay and load()]
- expected: FAIL
-
- [audio.autoplay and play()]
- expected: FAIL
-
- [audio.autoplay and pause()]
- expected: FAIL
-
- [audio.autoplay and internal pause steps]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplay.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplay.html.ini
deleted file mode 100644
index 189ef226dc8..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplay.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[readyState_during_canplay.html]
- type: testharness
- [audio.readyState should be >= HAVE_FUTURE_DATA during canplay event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html.ini
deleted file mode 100644
index 1fee36962cd..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[readyState_during_canplaythrough.html]
- type: testharness
- [audio.readyState should be HAVE_ENOUGH_DATA during canplaythrough event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html.ini
deleted file mode 100644
index e7f11ac599a..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[readyState_during_loadeddata.html]
- type: testharness
- [audio.readyState should be >= HAVE_CURRENT_DATA during loadeddata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html.ini
deleted file mode 100644
index 2780c82a9ba..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[readyState_during_loadedmetadata.html]
- type: testharness
- [audio.readyState should be >= HAVE_METADATA during loadedmetadata event]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_playing.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_playing.html.ini
deleted file mode 100644
index 21176eb3c40..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/readyState_during_playing.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[readyState_during_playing.html]
- type: testharness
- [audio.readyState should be >= HAVE_FUTURE_DATA during playing event]
- expected: FAIL
-