content/media/test/seek2.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 function test_seek2(v, seekTime, is, ok, finish) {
     3 // Test seeking works if current time is set before video is
     4 // playing.
     5 var startPassed = false;
     6 var endPassed = false;
     7 var completed = false;
     9 function startTest() {
    10   if (completed)
    11     return;
    13   v.currentTime=seekTime;
    14   v.play();
    15 }
    17 function seekStarted() {
    18   if (completed)
    19     return;
    21   ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime);
    22   startPassed = true;
    23 }
    25 function seekEnded() {
    26   if (completed)
    27     return;
    29   endPassed = true;
    30 }
    32 function playbackEnded() {
    33   if (completed)
    34     return;
    36   completed = true;
    37   ok(startPassed, "send seeking event");
    38   ok(endPassed, "send seeked event");
    39   ok(v.ended, "Checking playback has ended");
    40   ok(Math.abs(v.currentTime - v.duration) <= 0.1, "Checking currentTime at end: " + v.currentTime);
    41   finish();
    42 }
    44 v.addEventListener("ended", playbackEnded, false);
    45 v.addEventListener("loadedmetadata", startTest, false);
    46 v.addEventListener("seeking", seekStarted, false);
    47 v.addEventListener("seeked", seekEnded, false);
    49 }

mercurial