tor-browser

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

mediasource-play-then-seek-back.html (2258B)


      1 <!DOCTYPE html>
      2 <!-- Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang). -->
      3 <html>
      4    <head>
      5        <title>Simple MediaSource playback &amp; seek test case.</title>
      6        <script src="/resources/testharness.js"></script>
      7        <script src="/resources/testharnessreport.js"></script>
      8        <script src="mediasource-util.js"></script>
      9    </head>
     10    <body>
     11        <div id="log"></div>
     12        <script>
     13 
     14            mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     15            {
     16 
     17                mediaElement.play();
     18                // Append all the segments
     19                test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     20                test.expectEvent(mediaElement, 'playing', 'Playing triggered');
     21                sourceBuffer.appendBuffer(mediaData);
     22 
     23                function confirmPlayThenEnd()
     24                {
     25                    test.waitForCurrentTimeChange(mediaElement, function ()
     26                    {
     27                        assert_greater_than(mediaElement.currentTime, 0.0, 'Playback has started after seek.');
     28                        test.done();
     29                    });
     30                }
     31 
     32                function finishSeekThenPlay()
     33                {
     34                    test.expectEvent(mediaElement, 'seeked', 'mediaElement finished seek');
     35 
     36                    test.waitForExpectedEvents(confirmPlayThenEnd);
     37                }
     38 
     39                function delayedPlayHandler()
     40                {
     41                    assert_greater_than(mediaElement.currentTime, 0.0, 'Playback has started.');
     42                    test.expectEvent(mediaElement, 'seeking', 'mediaElement');
     43                    mediaElement.currentTime = 0.0;
     44                    assert_true(mediaElement.seeking, 'mediaElement is seeking');
     45 
     46                    test.waitForExpectedEvents(finishSeekThenPlay);
     47                }
     48 
     49                test.waitForExpectedEvents(function()
     50                {
     51                    test.waitForCurrentTimeChange(mediaElement, delayedPlayHandler);
     52                });
     53 
     54            }, 'Test playing then seeking back.');
     55        </script>
     56    </body>
     57 </html>