Index: third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cf1b98c2bceafb32652da39197a4da31d7ea9694 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html |
@@ -0,0 +1,45 @@ |
+<!doctype html> |
+<title>autoplay with slow text tracks</title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<script src="/common/media.js"></script> |
+<div id="log"></div> |
+<script> |
+// https://html.spec.whatwg.org/#ready-states says: |
+// |
+// HAVE_FUTURE_DATA: "the text tracks are ready". |
+// HAVE_ENOUGH_DATA: All the conditions described for the HAVE_FUTURE_DATA state are met, ... |
+// |
+// When the ready state of a media element whose networkState is not NETWORK_EMPTY changes, |
+// the user agent must follow the steps given below: |
+// If the new ready state is HAVE_ENOUGH_DATA |
+// (autoplay) |
+// |
+// So if the text tracks are not yet ready, we can't autoplay. |
+ |
+var started = 0; |
+var numOfTests = 5; |
+ |
+function createTest() { |
+ var video = document.createElement('video'); |
+ video.src = getVideoURI('/media/movie_5'); |
+ video.autoplay = true; |
+ video.muted = true; |
+ video.controls = true; |
+ video.onplaying = function() { |
+ started++; |
+ assert_equals(track.track.cues.length, 1); |
+ if (started === numOfTests) { |
+ done(); |
+ } |
+ }; |
+ var track = document.createElement('track'); |
+ track.src = '/media/foo.vtt?pipe=trickle(d2)'; |
+ track.default = true; |
+ video.appendChild(track); |
+ document.body.appendChild(video); |
+} |
+for (var i = 0; i < numOfTests; ++i) { |
+ createTest(); |
+} |
+</script> |