Title: [242819] trunk/Tools
Revision
242819
Author
jer.no...@apple.com
Date
2019-03-12 12:37:38 -0700 (Tue, 12 Mar 2019)

Log Message

Flaky API Test TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia
https://bugs.webkit.org/show_bug.cgi?id=195137
<rdar://problem/48810307>

Reviewed by Eric Carlson.

* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
(TestWebKitAPI::TEST):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (242818 => 242819)


--- trunk/Tools/ChangeLog	2019-03-12 19:36:47 UTC (rev 242818)
+++ trunk/Tools/ChangeLog	2019-03-12 19:37:38 UTC (rev 242819)
@@ -1,3 +1,14 @@
+2019-03-12  Jer Noble  <jer.no...@apple.com>
+
+        Flaky API Test TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia
+        https://bugs.webkit.org/show_bug.cgi?id=195137
+        <rdar://problem/48810307>
+
+        Reviewed by Eric Carlson.
+
+        * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
+        (TestWebKitAPI::TEST):
+
 2019-03-12  Aakash Jain  <aakash_j...@apple.com>
 
         [ews-build] Change urls from uat to production

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm (242818 => 242819)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm	2019-03-12 19:36:47 UTC (rev 242818)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm	2019-03-12 19:37:38 UTC (rev 242819)
@@ -30,6 +30,7 @@
 #import "PlatformUtilities.h"
 #import <WebKit/DOMHTMLMediaElement.h>
 #import <WebKit/WebFramePrivate.h>
+#import <wtf/MainThread.h>
 #import <wtf/RetainPtr.h>
 
 @interface ScrollingDoesNotPauseMediaDelegate : NSObject <UIWebViewDelegate, DOMEventListener> {
@@ -90,22 +91,30 @@
     Util::run(&didFinishLoad);
     Util::run(&gotMainFrame);
 
-    DOMHTMLMediaElement* video = (DOMHTMLMediaElement*)[mainFrame.DOMDocument querySelector:@"video"];
-    ASSERT_TRUE([video isKindOfClass:[DOMHTMLMediaElement class]]);
+    callOnMainThreadAndWait([&] () mutable {
+        DOMHTMLMediaElement* video = (DOMHTMLMediaElement*)[mainFrame.DOMDocument querySelector:@"video"];
+        ASSERT_TRUE([video isKindOfClass:[DOMHTMLMediaElement class]]);
 
-    [video addEventListener:@"playing" listener:testController.get() useCapture:NO];
-    [video addEventListener:@"pause" listener:testController.get() useCapture:NO];
+        [video addEventListener:@"playing" listener:testController.get() useCapture:NO];
 
-    [mainFrame setTimeoutsPaused:YES];
+        [mainFrame setTimeoutsPaused:YES];
+        didReceivePlaying = false;
+        [video play];
+    });
 
-    didReceivePlaying = false;
-    [video play];
     Util::run(&didReceivePlaying);
 
-    [mainFrame setTimeoutsPaused:NO];
+    callOnMainThreadAndWait([&] () mutable {
+        DOMHTMLMediaElement* video = (DOMHTMLMediaElement*)[mainFrame.DOMDocument querySelector:@"video"];
+        ASSERT_TRUE([video isKindOfClass:[DOMHTMLMediaElement class]]);
 
-    didReceivePause = false;
-    [video play];
+        [video addEventListener:@"pause" listener:testController.get() useCapture:NO];
+
+        [mainFrame setTimeoutsPaused:NO];
+        didReceivePause = false;
+        [video pause];
+    });
+
     Util::run(&didReceivePause);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to