Title: [116148] trunk/LayoutTests
Revision
116148
Author
[email protected]
Date
2012-05-04 12:53:55 -0700 (Fri, 04 May 2012)

Log Message

Layout Test media/track/track-cues-pause-on-exit.html is flaky on chromium debug builds
https://bugs.webkit.org/show_bug.cgi?id=80067

Patch by Victor Carbune <[email protected]> on 2012-05-04
Reviewed by Eric Carlson.

Trying a different approach, blocking on waitForEvent for the video element.

* media/track/track-cues-pause-on-exit-expected.txt: Updated.
* media/track/track-cues-pause-on-exit.html: Changed to use
waitForEvent and listen to exit events right after.
* media/video-test.js: Updated waitForEvent to enable listening for
events on other elements as well.
(waitForEvent._eventCallback):
(waitForEvent):

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (116147 => 116148)


--- trunk/LayoutTests/ChangeLog	2012-05-04 19:46:31 UTC (rev 116147)
+++ trunk/LayoutTests/ChangeLog	2012-05-04 19:53:55 UTC (rev 116148)
@@ -1,3 +1,20 @@
+2012-05-04  Victor Carbune  <[email protected]>
+
+        Layout Test media/track/track-cues-pause-on-exit.html is flaky on chromium debug builds
+        https://bugs.webkit.org/show_bug.cgi?id=80067
+
+        Reviewed by Eric Carlson.
+
+        Trying a different approach, blocking on waitForEvent for the video element.
+
+        * media/track/track-cues-pause-on-exit-expected.txt: Updated.
+        * media/track/track-cues-pause-on-exit.html: Changed to use
+        waitForEvent and listen to exit events right after.
+        * media/video-test.js: Updated waitForEvent to enable listening for
+        events on other elements as well.
+        (waitForEvent._eventCallback):
+        (waitForEvent):
+
 2012-05-04  Sudarsana Nagineni  <[email protected]>
 
         [GTK] DRT needs an implementation of LayoutTestController::setDefersLoading and ::goBack

Modified: trunk/LayoutTests/media/track/track-cues-pause-on-exit-expected.txt (116147 => 116148)


--- trunk/LayoutTests/media/track/track-cues-pause-on-exit-expected.txt	2012-05-04 19:46:31 UTC (rev 116147)
+++ trunk/LayoutTests/media/track/track-cues-pause-on-exit-expected.txt	2012-05-04 19:53:55 UTC (rev 116148)
@@ -6,22 +6,16 @@
 RUN(video.play())
 EXPECTED (video.paused == 'false') OK
 
+EVENT(pause)
 EVENT(exit)
 EXPECTED (currentCue.id == '0') OK
 EXPECTED (video.paused == 'true') OK
 RUN(video.play())
 
+EVENT(pause)
 EVENT(exit)
-EXPECTED (currentCue.id == '1') OK
-EXPECTED (video.paused == 'false') OK
-
-EVENT(exit)
 EXPECTED (currentCue.id == '2') OK
 EXPECTED (video.paused == 'true') OK
 RUN(video.play())
-
-EVENT(exit)
-EXPECTED (currentCue.id == '3') OK
-EXPECTED (video.paused == 'false') OK
 END OF TEST
 

Modified: trunk/LayoutTests/media/track/track-cues-pause-on-exit.html (116147 => 116148)


--- trunk/LayoutTests/media/track/track-cues-pause-on-exit.html	2012-05-04 19:46:31 UTC (rev 116147)
+++ trunk/LayoutTests/media/track/track-cues-pause-on-exit.html	2012-05-04 19:53:55 UTC (rev 116148)
@@ -24,30 +24,33 @@
 
                 for (var i = 0; i < testTrack.track.cues.length; ++i) {
                     testTrack.track.cues[i].pauseOnExit = (i % 2 == 0);
-                    testTrack.track.cues[i].addEventListener('exit', cueExited);
                 }
 
                 run("video.play()");
                 testExpected("video.paused", false);
+                consoleWrite("");
+
+                waitForEvent('pause', function() {
+                    waitForEvent('exit', cueExited, false, true, testTrack.track.cues[currentCueNumber]);
+                });
             }
 
             function cueExited(evt)
             {
                 currentCue = evt.target;
 
-                consoleWrite("");
-                consoleWrite("EVENT("+evt.type+")");
 
                 testExpected("currentCue.id", currentCueNumber);
-                testExpected("video.paused", currentCueNumber % 2 == 0);
+                testExpected("video.paused", true);
 
-                if (currentCueNumber % 2 == 0)
-                    run("video.play()");
+                run("video.play()");
 
-                if (currentCueNumber == 3)
+                if (currentCueNumber == 2)
                     endTest();
 
-                currentCueNumber++;
+                currentCueNumber += 2;
+
+                consoleWrite("");
             }
 
             function loaded()

Modified: trunk/LayoutTests/media/video-test.js (116147 => 116148)


--- trunk/LayoutTests/media/video-test.js	2012-05-04 19:46:31 UTC (rev 116147)
+++ trunk/LayoutTests/media/video-test.js	2012-05-04 19:53:55 UTC (rev 116148)
@@ -155,12 +155,15 @@
     waitForEvent(eventName, funcString, true)
 }
 
-function waitForEvent(eventName, func, endit, oneTimeOnly)
+function waitForEvent(eventName, func, endit, oneTimeOnly, element)
 {
+    if (!element)
+        element = mediaElement;
+
     function _eventCallback(event)
     {
         if (oneTimeOnly)
-            mediaElement.removeEventListener(eventName, _eventCallback, true);
+            element.removeEventListener(eventName, _eventCallback, true);
 
         consoleWrite("EVENT(" + eventName + ")");
 
@@ -171,7 +174,7 @@
             endTest();
     }
 
-    mediaElement.addEventListener(eventName, _eventCallback, true);
+    element.addEventListener(eventName, _eventCallback, true);
 }
 
 function waitForEventTestAndEnd(eventName, testFuncString)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to