track-mode-triggers-loading.html (1402B)
1 <!DOCTYPE html> 2 <title>A "metadata" track does not load automatically, but it does load when the mode is changed</title> 3 <script src="/common/media.js"></script> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <video> 7 <track kind="metadata" src="resources/metadata.vtt"> 8 </video> 9 <script> 10 async_test(function(t) { 11 var video = document.querySelector("video"); 12 13 // Check initial metadata track state. 14 var track = document.querySelectorAll("track")[0]; 15 assert_equals(track.readyState, HTMLTrackElement.NONE); 16 assert_equals(video.textTracks[0].mode, "disabled"); 17 18 video.src = getVideoURI("/media/test"); 19 video.oncanplaythrough = t.step_func(canplaythrough); 20 track.onload = t.step_func_done(trackLoaded); 21 22 function trackLoaded() { 23 assert_equals(track.readyState, HTMLTrackElement.LOADED); 24 assert_equals(track.track.mode, "hidden"); 25 assert_equals(video.textTracks[0].cues.length, 12); 26 assert_equals(video.textTracks[0].cues[11].startTime, 22); 27 } 28 29 function canplaythrough() { 30 assert_equals(track.readyState, HTMLTrackElement.NONE); 31 assert_equals(video.textTracks[0].mode, "disabled"); 32 assert_equals(video.textTracks[0].cues, null); 33 // Change metadata track mode so it loads. 34 video.textTracks[0].mode = "hidden"; 35 } 36 }); 37 </script>