Title: [241074] branches/safari-607-branch/Source/WebKit
Revision
241074
Author
[email protected]
Date
2019-02-06 14:17:10 -0800 (Wed, 06 Feb 2019)

Log Message

Cherry-pick r240803. rdar://problem/47774506

    Regression(PSON) Crash under WebProcessProxy::canTerminateChildProcess()
    https://bugs.webkit.org/show_bug.cgi?id=194094
    <rdar://problem/47580753>

    Reviewed by Ryosuke Niwa.

    If a SuspendedPageProxy gets destroyed while a WebPageProxy is waiting for its to finish to suspend,
    call the "failure to suspend" completion handler asynchronously instead of synchronouly to make sure
    the completion handler cannot try and use the suspended page proxy while it is being destroyed.

    * UIProcess/SuspendedPageProxy.cpp:
    (WebKit::SuspendedPageProxy::~SuspendedPageProxy):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (241073 => 241074)


--- branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-06 22:17:07 UTC (rev 241073)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-06 22:17:10 UTC (rev 241074)
@@ -1,5 +1,40 @@
 2019-02-05  Alan Coon  <[email protected]>
 
+        Cherry-pick r240803. rdar://problem/47774506
+
+    Regression(PSON) Crash under WebProcessProxy::canTerminateChildProcess()
+    https://bugs.webkit.org/show_bug.cgi?id=194094
+    <rdar://problem/47580753>
+    
+    Reviewed by Ryosuke Niwa.
+    
+    If a SuspendedPageProxy gets destroyed while a WebPageProxy is waiting for its to finish to suspend,
+    call the "failure to suspend" completion handler asynchronously instead of synchronouly to make sure
+    the completion handler cannot try and use the suspended page proxy while it is being destroyed.
+    
+    * UIProcess/SuspendedPageProxy.cpp:
+    (WebKit::SuspendedPageProxy::~SuspendedPageProxy):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Chris Dumez  <[email protected]>
+
+            Regression(PSON) Crash under WebProcessProxy::canTerminateChildProcess()
+            https://bugs.webkit.org/show_bug.cgi?id=194094
+            <rdar://problem/47580753>
+
+            Reviewed by Ryosuke Niwa.
+
+            If a SuspendedPageProxy gets destroyed while a WebPageProxy is waiting for its to finish to suspend,
+            call the "failure to suspend" completion handler asynchronously instead of synchronouly to make sure
+            the completion handler cannot try and use the suspended page proxy while it is being destroyed.
+
+            * UIProcess/SuspendedPageProxy.cpp:
+            (WebKit::SuspendedPageProxy::~SuspendedPageProxy):
+
+2019-02-05  Alan Coon  <[email protected]>
+
         Cherry-pick r240772. rdar://problem/47774490
 
     iOS: Crash in InteractiveUpdateHandler set by ViewGestureController::beginSwipeGesture

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/SuspendedPageProxy.cpp (241073 => 241074)


--- branches/safari-607-branch/Source/WebKit/UIProcess/SuspendedPageProxy.cpp	2019-02-06 22:17:07 UTC (rev 241073)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/SuspendedPageProxy.cpp	2019-02-06 22:17:10 UTC (rev 241074)
@@ -92,8 +92,11 @@
 
 SuspendedPageProxy::~SuspendedPageProxy()
 {
-    if (m_readyToUnsuspendHandler)
-        m_readyToUnsuspendHandler(nullptr);
+    if (m_readyToUnsuspendHandler) {
+        RunLoop::main().dispatch([readyToUnsuspendHandler = WTFMove(m_readyToUnsuspendHandler)]() mutable {
+            readyToUnsuspendHandler(nullptr);
+        });
+    }
 
     if (m_suspensionState == SuspensionState::Resumed)
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to