tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>