Title: [255438] trunk/Source/WebKit
Revision
255438
Author
[email protected]
Date
2020-01-30 10:54:46 -0800 (Thu, 30 Jan 2020)

Log Message

Disable Service Workers before terminating an unresponsive service worker process
https://bugs.webkit.org/show_bug.cgi?id=206994

Reviewed by Chris Dumez.

In case a process becomes unresponsive, we terminate it in case it is a service worker process.
In that case, we should make sure not to call the service worker process crash callback.
To do so, disable service workers before terminating the IPC connection.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didBecomeUnresponsive):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (255437 => 255438)


--- trunk/Source/WebKit/ChangeLog	2020-01-30 18:07:10 UTC (rev 255437)
+++ trunk/Source/WebKit/ChangeLog	2020-01-30 18:54:46 UTC (rev 255438)
@@ -1,3 +1,17 @@
+2020-01-30  youenn fablet  <[email protected]>
+
+        Disable Service Workers before terminating an unresponsive service worker process
+        https://bugs.webkit.org/show_bug.cgi?id=206994
+
+        Reviewed by Chris Dumez.
+
+        In case a process becomes unresponsive, we terminate it in case it is a service worker process.
+        In that case, we should make sure not to call the service worker process crash callback.
+        To do so, disable service workers before terminating the IPC connection.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::didBecomeUnresponsive):
+
 2020-01-30  Brent Fulgham  <[email protected]>
 
         [iOS] Remove report rule for 'com.apple.runningboard' from the Network and GPU process sandboxes

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (255437 => 255438)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-01-30 18:07:10 UTC (rev 255437)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-01-30 18:54:46 UTC (rev 255438)
@@ -836,6 +836,7 @@
     // If the web process becomes unresponsive and only runs service workers, kill it ourselves since there are no native clients to do it.
     if (isRunningServiceWorkers() && m_pageMap.isEmpty()) {
         RELEASE_LOG_ERROR(PerformanceLogging, "%p - WebProcessProxy::didBecomeUnresponsive() Terminating service worker-only web process with pid %d because it is unresponsive", this, processIdentifier());
+        disableServiceWorkers();
         terminate();
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to