Title: [225003] trunk/Source/WebCore
Revision
225003
Author
achristen...@apple.com
Date
2017-11-17 17:00:48 -0800 (Fri, 17 Nov 2017)

Log Message

REGRESSION(224348): [mac-wk1] LayoutTest media/video-src-remove.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=179806

Reviewed by Jer Noble.

In r224348 I used callOnMainThread to fix UIWebView which uses the web thread, but Mac doesn't
use the web thread. Something about the timing of operations in the media stack requires that
dispatch_async be used instead of performSelectorOnMainThread.
        
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:]):
Use callOnMainThread on iOS, dispatch_async on Mac.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (225002 => 225003)


--- trunk/Source/WebCore/ChangeLog	2017-11-18 00:49:04 UTC (rev 225002)
+++ trunk/Source/WebCore/ChangeLog	2017-11-18 01:00:48 UTC (rev 225003)
@@ -1,3 +1,18 @@
+2017-11-17  Alex Christensen  <achristen...@webkit.org>
+
+        REGRESSION(224348): [mac-wk1] LayoutTest media/video-src-remove.html is a flaky timeout
+        https://bugs.webkit.org/show_bug.cgi?id=179806
+
+        Reviewed by Jer Noble.
+
+        In r224348 I used callOnMainThread to fix UIWebView which uses the web thread, but Mac doesn't
+        use the web thread. Something about the timing of operations in the media stack requires that
+        dispatch_async be used instead of performSelectorOnMainThread.
+        
+        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
+        (-[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:]):
+        Use callOnMainThread on iOS, dispatch_async on Mac.
+
 2017-11-17  Per Arne Vollan  <pvol...@apple.com>
 
         [Win] Compile error in InbandTextTrackPrivateAVCF::readNativeSampleBuffer.

Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm (225002 => 225003)


--- trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm	2017-11-18 00:49:04 UTC (rev 225002)
+++ trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm	2017-11-18 01:00:48 UTC (rev 225003)
@@ -64,9 +64,14 @@
 
     // This is the common case.
     SchedulePairHashSet* pairs = m_handle && m_handle->context() ? m_handle->context()->scheduledRunLoopPairs() : nullptr;
-    if (!scheduledWithCustomRunLoopMode(pairs))
+    if (!scheduledWithCustomRunLoopMode(pairs)) {
+#if PLATFORM(MAC)
+        return dispatch_async(dispatch_get_main_queue(), BlockPtr<void()>::fromCallable(WTFMove(function)).get());
+#else
         return callOnMainThread(WTFMove(function));
-    
+#endif
+    }
+
     // If we have been scheduled in a custom run loop mode, schedule a block in that mode.
     auto block = BlockPtr<void()>::fromCallable([alreadyCalled = false, function = WTFMove(function)] () mutable {
         if (alreadyCalled)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to