Title: [137815] trunk/Source/WebKit2
Revision
137815
Author
[email protected]
Date
2012-12-15 15:35:50 -0800 (Sat, 15 Dec 2012)

Log Message

Remove the unneeded NetworkProcessCrashed message
https://bugs.webkit.org/show_bug.cgi?id=105114

Reviewed by Sam Weinig.

Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
function is called on the connection between the web process and network process.

Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
thread-safe so this could in theory cause bad crashes.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didClose):
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (137814 => 137815)


--- trunk/Source/WebKit2/ChangeLog	2012-12-15 23:32:12 UTC (rev 137814)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-15 23:35:50 UTC (rev 137815)
@@ -1,5 +1,26 @@
 2012-12-15  Anders Carlsson  <[email protected]>
 
+        Remove the unneeded NetworkProcessCrashed message
+        https://bugs.webkit.org/show_bug.cgi?id=105114
+
+        Reviewed by Sam Weinig.
+
+        Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
+        nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
+        function is called on the connection between the web process and network process.
+        
+        Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
+        thread-safe so this could in theory cause bad crashes.
+
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::didClose):
+        * WebProcess/WebProcess.cpp:
+        * WebProcess/WebProcess.h:
+        (WebProcess):
+        * WebProcess/WebProcess.messages.in:
+
+2012-12-15  Anders Carlsson  <[email protected]>
+
         Add a DownloadProxyMap object to the NetworkProcessProxy object
         https://bugs.webkit.org/show_bug.cgi?id=105112
 

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (137814 => 137815)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 23:32:12 UTC (rev 137814)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 23:35:50 UTC (rev 137815)
@@ -111,11 +111,6 @@
 
 void NetworkProcessProxy::didClose(CoreIPC::Connection*)
 {
-    // Notify all WebProcesses that the NetworkProcess crashed.
-    const Vector<WebContext*>& contexts = WebContext::allContexts();
-    for (size_t i = 0; i < contexts.size(); ++i)
-        contexts[i]->sendToAllProcesses(Messages::WebProcess::NetworkProcessCrashed());
-
     if (m_downloadProxyMap)
         m_downloadProxyMap->processDidClose();
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (137814 => 137815)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-15 23:32:12 UTC (rev 137814)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-15 23:35:50 UTC (rev 137815)
@@ -999,14 +999,6 @@
     m_networkProcessConnection = 0;
 }
 
-void WebProcess::networkProcessCrashed(CoreIPC::Connection*)
-{
-    // FIXME (NetworkProcess): How do we handle not having the connection when the WebProcess needs it?
-    // If the NetworkProcess crashed, for example.  Do we respawn it?
-    ASSERT(m_networkProcessConnection);
-    
-    networkProcessConnectionClosed(m_networkProcessConnection.get());
-}
 #endif
 
 #if ENABLE(PLUGIN_PROCESS)

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (137814 => 137815)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-15 23:32:12 UTC (rev 137814)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-15 23:35:50 UTC (rev 137815)
@@ -261,9 +261,6 @@
     void clearPluginSiteData(const Vector<String>& pluginPaths, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
 #endif
 
-#if ENABLE(NETWORK_PROCESS)
-    void networkProcessCrashed(CoreIPC::Connection*);
-#endif
 #if ENABLE(PLUGIN_PROCESS)
     void pluginProcessCrashed(CoreIPC::Connection*, const String& pluginPath, uint32_t processType);
 #endif

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.messages.in (137814 => 137815)


--- trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2012-12-15 23:32:12 UTC (rev 137814)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2012-12-15 23:35:50 UTC (rev 137815)
@@ -69,10 +69,6 @@
 #endif
     DidAddPlugInAutoStartOrigin(uint32_t hash)
 
-#if ENABLE(NETWORK_PROCESS)
-    NetworkProcessCrashed() DispatchOnConnectionQueue
-#endif
-
 #if ENABLE(PLUGIN_PROCESS)
     PluginProcessCrashed(String pluginProcess, uint32_t processType) DispatchOnConnectionQueue
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to