Title: [216518] branches/safari-603-branch/Source/WebCore

Diff

Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (216517 => 216518)


--- branches/safari-603-branch/Source/WebCore/ChangeLog	2017-05-09 18:02:12 UTC (rev 216517)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog	2017-05-09 18:04:58 UTC (rev 216518)
@@ -1,3 +1,23 @@
+2017-05-09  Matthew Hanson  <matthew_han...@apple.com>
+
+        Cherry-pick r214554. rdar://problem/31971164
+
+    2017-03-29  Jeremy Jones  <jere...@apple.com>
+
+            WebVideoFullscreenInterfaceAVKit needs a strong self ref before dispatching to the main thread.
+            https://bugs.webkit.org/show_bug.cgi?id=170129
+
+            Reviewed by David Kilzer.
+
+            No new tests becuase no new behavior.
+
+            Hold a strong reference to WebVideoFullscreenInterfaceAVKit when dispatching to the main thread.
+            Make WebVideoFullscreenInterfaceAVKit safe to retain from non-main thread.
+
+            * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
+            * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+            (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
+
 2017-04-16  Jason Marcell  <jmarc...@apple.com>
 
         Roll out r211294 vi 215335. rdar://problem/31512298

Modified: branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h (216517 => 216518)


--- branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h	2017-05-09 18:02:12 UTC (rev 216517)
+++ branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h	2017-05-09 18:04:58 UTC (rev 216518)
@@ -66,7 +66,7 @@
     : public WebVideoFullscreenInterface
     , public WebVideoFullscreenModelClient
     , public WebPlaybackSessionModelClient
-    , public RefCounted<WebVideoFullscreenInterfaceAVKit> {
+    , public ThreadSafeRefCounted<WebVideoFullscreenInterfaceAVKit> {
 
 public:
     static Ref<WebVideoFullscreenInterfaceAVKit> create(WebPlaybackSessionInterfaceAVKit&);

Modified: branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (216517 => 216518)


--- branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2017-05-09 18:02:12 UTC (rev 216517)
+++ branches/safari-603-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2017-05-09 18:04:58 UTC (rev 216518)
@@ -753,7 +753,7 @@
             [[m_playerViewController view] setBackgroundColor:[getUIColorClass() clearColor]];
             [CATransaction commit];
 
-            dispatch_async(dispatch_get_main_queue(), ^{
+            dispatch_async(dispatch_get_main_queue(), [protectedThis, this]() {
                 if (m_fullscreenChangeObserver)
                     m_fullscreenChangeObserver->didExitFullscreen();
             });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to