tor-browser

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

track-cues-enter-exit.html (1534B)


      1 <!DOCTYPE html>
      2 <title>TextTrack's cues are indexed and updated in order during video playback</title>
      3 <meta name="timeout" content="long">
      4 <script src="/common/media.js"></script>
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <video>
      8    <track src="resources/cues-chrono-order.vtt" kind="captions" default>
      9    <script>
     10    // Use the enter and exit events on TextTrackCue.
     11    async_test(function(t) {
     12        var video = document.querySelector("video");
     13        var testTrack = document.querySelector("track");
     14 
     15        video.src = getVideoURI("/media/test");
     16 
     17        video.oncanplaythrough = t.step_func(attemptTests);
     18 
     19        function attemptTests() {
     20            assert_equals(testTrack.track.cues.length, 3);
     21            for (var i = 0; i < testTrack.track.cues.length; i++) {
     22                testTrack.track.cues[i].onenter = t.step_func(cueEntered);
     23                testTrack.track.cues[i].onexit = t.step_func(cueExited);
     24            }
     25            video.play();
     26        }
     27 
     28        var cueCount = 0;
     29        function cueEntered(event) {
     30            var currentCue = event.target;
     31 
     32            // This cue is the currently active cue.
     33            assert_equals(currentCue, testTrack.track.activeCues[0]);
     34            assert_equals(currentCue.id, (cueCount + 1).toString());
     35        }
     36 
     37        function cueExited() {
     38            ++cueCount;
     39            if (cueCount == testTrack.track.cues.length)
     40                t.done();
     41        }
     42    });
     43    </script>
     44 </video>