Title: [177566] trunk/Source/WebCore
Revision
177566
Author
[email protected]
Date
2014-12-18 23:08:48 -0800 (Thu, 18 Dec 2014)

Log Message

dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
https://bugs.webkit.org/show_bug.cgi?id=139809

Patch by Jeremy Jones <[email protected]> on 2014-12-18
Reviewed by Dan Bernstein.

This prevents a race in playerController().

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (177565 => 177566)


--- trunk/Source/WebCore/ChangeLog	2014-12-19 06:14:30 UTC (rev 177565)
+++ trunk/Source/WebCore/ChangeLog	2014-12-19 07:08:48 UTC (rev 177566)
@@ -1,3 +1,15 @@
+2014-12-18  Jeremy Jones  <[email protected]>
+
+        dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
+        https://bugs.webkit.org/show_bug.cgi?id=139809
+
+        Reviewed by Dan Bernstein.
+
+        This prevents a race in playerController().
+
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+        (WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
+
 2014-12-18  Jessie Berlin  <[email protected]>
 
         More speculative build fixing.

Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (177565 => 177566)


--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2014-12-19 06:14:30 UTC (rev 177565)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2014-12-19 07:08:48 UTC (rev 177566)
@@ -724,7 +724,11 @@
 
 void WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse(bool canPlayFastReverse)
 {
-    playerController().canScanBackward = canPlayFastReverse;
+    RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
+    
+    dispatch_async(dispatch_get_main_queue(), [strongThis, canPlayFastReverse] {
+        strongThis->playerController().canScanBackward = canPlayFastReverse;
+    });
 }
 
 static RetainPtr<NSMutableArray> mediaSelectionOptions(const Vector<String>& options)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to