Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Unified Diff: third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html

Issue 2192713003: Convert mediasource http tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comment Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html
index 6e8732b535bd416a877a1b8bde21fc1611ddd34b..4e3f915a8f5a41ca34df3d65aa7e22a2da699dee 100644
--- a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html
+++ b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-gc-after-decode-error-crash.html
@@ -1,62 +1,42 @@
-<!doctype html>
-<html>
- <head>
- <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956
- (Please avoid writing new tests using video-test.js) -->
- <script src="../../media-resources/video-test.js"></script>
- </head>
- <body>
- <p>Verifies that a MediaSource decode error followed by a gc() and page reload does not trigger a crash.</p>
- <video></video>
- <script>
- function onSourceOpen(e)
- {
- consoleWrite("onSourceOpen");
- var ms = e.target;
- ms.removeEventListener("sourceopen", onSourceOpen);
-
- var v = document.querySelector("video");
- URL.revokeObjectURL(v.src);
-
- // Create a SourceBuffer and append garbage so a decode error will occur
- // and the MediaSource will get closed.
- ms.addEventListener("sourceclose", onSourceClose);
- var sb = ms.addSourceBuffer("video/webm;codecs=\"vp8\"");
- var buf = new Uint8Array(10);
- sb.appendBuffer(buf);
- }
-
- function onSourceClose(e)
- {
- consoleWrite("onSourceClose");
- e.target.removeEventListener("sourceclose", onSourceClose);
+<!DOCTYPE html>
+<title>Verifies that a MediaSource decode error followed by a gc() and page reload does not trigger a crash.</title>
+<script src="/w3c/resources/testharness.js"></script>
+<script src="/w3c/resources/testharnessreport.js"></script>
+<video></video>
+<script>
+async_test(function(t) {
+ var video = document.querySelector('video');
+ var mediaSource = new MediaSource();
+
+ mediaSource.onsourceopen = t.step_func(function() {
+ mediaSource.onsourceopen = null;
+ URL.revokeObjectURL(video.src);
+
+ // Create a SourceBuffer and append garbage so a decode error will occur
+ // and the MediaSource will get closed.
+ mediaSource.onsourceclose = t.step_func(function() {
+ mediaSource.onsourceclose = null;
// Schedule a GC and page reload. We need a timeout here so that
// the MediaSource reference used by this event is cleared before
// we try to GC & reload.
- setTimeout(gcAndReloadPage, 0);
- }
+ setTimeout(t.step_func(function() {
+ gc();
- function gcAndReloadPage()
- {
- consoleWrite("Running gc().");
- gc();
-
- var suffix = "?2";
- if (document.location.href.indexOf(suffix) != -1) {
- endTest();
+ var suffix = "?2";
+ if (document.location.href.indexOf(suffix) != -1) {
+ t.done();
return;
- }
-
- document.location.href += suffix;
- }
-
- (function()
- {
- var ms = new MediaSource();
- ms.addEventListener("sourceopen", onSourceOpen);
- document.querySelector("video").src = URL.createObjectURL(ms);
- })();
- </script>
- </body>
-</html>
+ }
+
+ document.location.href += suffix;
+ }), 0);
+ });
+ var sourceBuffer = mediaSource.addSourceBuffer("video/webm;codecs=\"vp8\"");
+ var buffer = new Uint8Array(10);
+ sourceBuffer.appendBuffer(buffer);
+ });
+
+ video.src = URL.createObjectURL(mediaSource);
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698