2009-10-22 Andrew Scherkus <scherkus@chromium.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Oct 2009 15:53:11 +0000 (15:53 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Oct 2009 15:53:11 +0000 (15:53 +0000)
        Reviewed by Eric Carlson.

        Fix video-played.js to use an error timeout based on time rather than function call count.

        https://bugs.webkit.org/show_bug.cgi?id=30657

        * media/video-played.js:
        (nowInSecs): Returns the current time in seconds.
        (playForMillisecs.callPauseIfTimeIsReached): Change from call counts to using elapsed time.
        (playForMillisecs): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@49941 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/media/video-played.js

index 6942234..8fb8a82 100644 (file)
@@ -1,3 +1,16 @@
+2009-10-22  Andrew Scherkus  <scherkus@chromium.org>
+
+        Reviewed by Eric Carlson.
+
+        Fix video-played.js to use an error timeout based on time rather than function call count.
+
+        https://bugs.webkit.org/show_bug.cgi?id=30657
+
+        * media/video-played.js:
+        (nowInSecs): Returns the current time in seconds.
+        (playForMillisecs.callPauseIfTimeIsReached): Change from call counts to using elapsed time.
+        (playForMillisecs): Ditto.
+
 2009-10-22  Xan Lopez  <xlopez@igalia.com>
 
         libsoup can reconstruct URIs with empty querys now, so unskip
index 5774968..a6a2e8e 100644 (file)
@@ -96,6 +96,11 @@ function milliToSecs(milliseconds)
     return milliseconds / 1000;
 }
 
+function nowInSecs()
+{
+    return milliToSecs((new Date()).getTime());
+}
+
 function playForMillisecs(milliseconds)
 {
     if (milliToSecs(milliseconds) > video.duration) {
@@ -105,8 +110,8 @@ function playForMillisecs(milliseconds)
 
     run("video.play()");
 
+    var startTime = nowInSecs();
     var playedFromTime = video.currentTime;
-    var callCount = 0;
     var playDuration = milliToSecs(milliseconds);
     var callPauseIfTimeIsReached = function ()
     {
@@ -117,11 +122,11 @@ function playForMillisecs(milliseconds)
             // At the begining of playForMillisecs()
             playedTime = video.duration - playedFromTime + video.currentTime;
         }
-        
-        if (callCount++ > 10) {
+
+        var elapsed = nowInSecs() - startTime;
+        if (elapsed > 2) {
             // Just in case something goes wrong.
-            var elapsed = milliToSecs(callCount * milliseconds);
-            failTest("ERROR: test stalled, waited " + milliToSecs(elapsed) + "seconds for movie to play " + playedTime + " seconds");
+            failTest("ERROR: test stalled, waited " + elapsed + " seconds for movie to play " + playedTime + " seconds");
             return;
         }