Title: [232028] trunk/Source/WebKit
Revision
232028
Author
[email protected]
Date
2018-05-21 14:47:59 -0700 (Mon, 21 May 2018)

Log Message

Web Automation: terminate the automation session if the network or storage process crashes
https://bugs.webkit.org/show_bug.cgi?id=185827
<rdar://problem/40424020>

Reviewed by Tim Horton.

If one of the processes crashes, the page may be in an undefined state and
automation will fail in unpredictable ways. It's better to just give up immediately.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessFailedToLaunch):
(WebKit::WebProcessPool::storageProcessCrashed):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (232027 => 232028)


--- trunk/Source/WebKit/ChangeLog	2018-05-21 21:36:06 UTC (rev 232027)
+++ trunk/Source/WebKit/ChangeLog	2018-05-21 21:47:59 UTC (rev 232028)
@@ -1,3 +1,18 @@
+2018-05-21  Brian Burg  <[email protected]>
+
+        Web Automation: terminate the automation session if the network or storage process crashes
+        https://bugs.webkit.org/show_bug.cgi?id=185827
+        <rdar://problem/40424020>
+
+        Reviewed by Tim Horton.
+
+        If one of the processes crashes, the page may be in an undefined state and
+        automation will fail in unpredictable ways. It's better to just give up immediately.
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::networkProcessFailedToLaunch):
+        (WebKit::WebProcessPool::storageProcessCrashed):
+
 2018-05-21  Sihui Liu  <[email protected]>
 
         Add a diskCacheSizeOverride accessor function on WKContextConfigurationRef

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (232027 => 232028)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2018-05-21 21:36:06 UTC (rev 232027)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2018-05-21 21:47:59 UTC (rev 232028)
@@ -560,6 +560,9 @@
 
     m_client.networkProcessDidCrash(this);
 
+    if (m_automationSession)
+        m_automationSession->terminate();
+
     // Leave the process proxy around during client call, so that the client could query the process identifier.
     m_networkProcess = nullptr;
 }
@@ -627,6 +630,10 @@
         supplement->processDidClose(storageProcessProxy);
 
     m_client.storageProcessDidCrash(this);
+
+    if (m_automationSession)
+        m_automationSession->terminate();
+
     m_storageProcess = nullptr;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to