tor-browser

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

track-active-cues.html (1541B)


      1 <!DOCTYPE html>
      2 <title>Ensure that no text track cues are active after the video is unloaded</title>
      3 <script src="/common/media.js"></script>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script>
      7 async_test(function(t) {
      8    var eventCount = 0;
      9 
     10    function eventCallback() {
     11        eventCount++;
     12        if (eventCount == 3) {
     13            assert_equals(trackElement.track.activeCues.length, 1);
     14            video.src = '';
     15        }
     16    }
     17 
     18    var video = document.createElement('video');
     19    video.src = getVideoURI('/media/movie_5');
     20    // uanset media element's `show-poster` flag in order to run `time marches on`
     21    // when we add new cues into media element's cues list.
     22    video.play();
     23    var trackElement = document.createElement('track');
     24 
     25    trackElement.onload = t.step_func(eventCallback);
     26    trackElement.oncuechange = t.step_func(eventCallback);
     27    video.oncanplaythrough = t.step_func(eventCallback);
     28 
     29    video.onerror = t.step_func_done(function(event) {
     30        assert_equals(event.target, video);
     31        assert_not_equals(video.error, null);
     32        assert_equals(video.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
     33        assert_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE);
     34        assert_equals(trackElement.track.activeCues.length, 0);
     35    });
     36 
     37    trackElement.src = 'resources/captions-fast.vtt';
     38    trackElement.kind = 'captions';
     39    trackElement.default = true;
     40    video.appendChild(trackElement);
     41 });
     42 </script>