MSE: Remove downstream mediasource-errors.html web_test
Inspection of upstream external/wpt/media-source/mediasource-errors.html
and downstream http/tests/media/media-source/mediasource-errors.html
shows that upstream is a working, more up to date, superset of the
downstream cases. Especially with recent landing of
https://chromium-review.googlesource.com/c/chromium/src/+/1371166 which
fixed a timing/flakiness regression in upstream, removal of the unfixed,
less complete, downstream version of that suite is motivated.
BUG=913775, b/35361540
CC=chadduffin@chromium.org
R=sandersd@chromium.org
Change-Id: Ia2f7af9061d17f5a084cd0dfd2a0a98ec92012ce
Reviewed-on: https://chromium-review.googlesource.com/c/1372661
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615750}
diff --git a/third_party/blink/web_tests/http/tests/media/media-source/mediasource-errors.html b/third_party/blink/web_tests/http/tests/media/media-source/mediasource-errors.html
deleted file mode 100644
index 377946ea..0000000
--- a/third_party/blink/web_tests/http/tests/media/media-source/mediasource-errors.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <script src="/w3c/resources/testharness.js"></script>
- <script src="/w3c/resources/testharnessreport.js"></script>
- <script src="mediasource-util.js"></script>
- <link rel='stylesheet' href='/w3c/resources/testharness.css'>
- </head>
- <body>
- <div id="log"></div>
- <script>
- function ErrorTest(testFunction, description)
- {
- mediasource_test(function(test, mediaElement, mediaSource)
- {
- var segmentInfo = MediaSourceUtil.SEGMENT_INFO;
-
- if (!segmentInfo) {
- assert_unreached("No segment info compatible with this MediaSource implementation.");
- return;
- }
-
- var sourceBuffer = mediaSource.addSourceBuffer(segmentInfo.type);
- MediaSourceUtil.loadBinaryData(test, segmentInfo.url, function(mediaData)
- {
- testFunction(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData);
- });
- }, description);
- }
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
-
- test.expectEvent(sourceBuffer, "error", "sourceBuffer error.");
- test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- test.expectEvent(mediaSource, "sourceclose", "mediaSource closed.");
- sourceBuffer.appendBuffer(mediaSegment);
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
-
- assert_equals(mediaSource.sourceBuffers.length, 0);
- assert_equals(mediaSource.readyState, "closed");
- test.done();
- });
- }, "Appending media segment before the first initialization segment.");
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_NOTHING);
-
- // Fail if the append error algorithm occurs, since the decode
- // error will be provided by us directly via endOfStream().
- sourceBuffer.addEventListener("error", test.unreached_func("'error' should not be fired on sourceBuffer"));
-
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- test.expectEvent(mediaSource, "sourceclose", "mediaSource closed.");
-
- mediaSource.endOfStream("decode");
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
-
- assert_equals(mediaSource.sourceBuffers.length, 0);
- assert_equals(mediaSource.readyState, "closed");
-
- // Give a short time for a broken implementation to errantly fire
- // "error" on sourceBuffer.
- test.step_timeout(test.step_func_done(), 0);
- });
- }, "Signaling 'decode' error via endOfStream() before initialization segment has been appended.");
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_NOTHING);
-
- // Fail if the append error algorithm occurs, since the network
- // error will be provided by us directly via endOfStream().
- sourceBuffer.addEventListener("error", test.unreached_func("'error' should not be fired on sourceBuffer"));
-
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- test.expectEvent(mediaSource, "sourceclose", "mediaSource closed.");
-
- mediaSource.endOfStream("network");
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
-
- assert_equals(mediaSource.sourceBuffers.length, 0);
- assert_equals(mediaSource.readyState, "closed");
-
- // Give a short time for a broken implementation to errantly fire
- // "error" on sourceBuffer.
- test.step_timeout(test.step_func_done(), 0);
- });
- }, "Signaling 'network' error via endOfStream() before initialization segment has been appended.");
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_NOTHING);
-
- // Fail if the append error algorithm occurs, since the decode
- // error will be provided by us directly via endOfStream().
- sourceBuffer.addEventListener("error", test.unreached_func("'error' should not be fired on sourceBuffer"));
-
- test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
- test.expectEvent(mediaElement, "loadedmetadata", "mediaElement metadata.");
- sourceBuffer.appendBuffer(initSegment);
-
- test.waitForExpectedEvents(function()
- {
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_METADATA);
-
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- mediaSource.endOfStream("decode");
- });
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_DECODE);
- assert_equals(mediaSource.readyState, "ended");
-
- // Give a short time for a broken implementation to errantly fire
- // "error" on sourceBuffer.
- test.step_timeout(test.step_func_done(), 0);
- });
-
- }, "Signaling 'decode' error via endOfStream() after initialization segment has been appended and the HTMLMediaElement has reached HAVE_METADATA.");
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_NOTHING);
-
- // Fail if the append error algorithm occurs, since the network
- // error will be provided by us directly via endOfStream().
- sourceBuffer.addEventListener("error", test.unreached_func("'error' should not be fired on sourceBuffer"));
-
- test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
- test.expectEvent(mediaElement, "loadedmetadata", "mediaElement metadata.");
- sourceBuffer.appendBuffer(initSegment);
-
- test.waitForExpectedEvents(function()
- {
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_METADATA);
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- mediaSource.endOfStream("network");
- });
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_NETWORK);
- assert_equals(mediaSource.readyState, "ended");
-
- // Give a short time for a broken implementation to errantly fire
- // "error" on sourceBuffer.
- test.step_timeout(test.step_func_done(), 0);
- });
- }, "Signaling 'network' error via endOfStream() after initialization segment has been appended and the HTMLMediaElement has reached HAVE_METADATA.");
-
- ErrorTest(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
- {
- assert_equals(mediaElement.readyState, HTMLMediaElement.HAVE_NOTHING);
-
- var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
- var index = segmentInfo.init.size + (mediaSegment.length - 1) / 2;
- // Corrupt the media data from index of mediaData, so it can signal 'decode' error.
- // Here use mediaSegment to replace the original mediaData[index, index + mediaSegment.length]
- mediaData.set(mediaSegment, index);
-
- test.expectEvent(mediaElement, "loadedmetadata", "mediaElement metadata.");
- test.expectEvent(sourceBuffer, "error", "sourceBuffer error.");
- test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
- test.expectEvent(mediaElement, "error", "mediaElement error.");
- test.expectEvent(mediaSource, "sourceended", "mediaSource ended.");
- sourceBuffer.appendBuffer(mediaData);
-
- test.waitForExpectedEvents(function()
- {
- assert_true(mediaElement.error != null);
- assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_DECODE);
- test.done();
- });
- }, "Signaling 'decode' error via segment parser loop algorithm after initialization segment and partial media segment has been appended.");
- </script>
- </body>
-</html>