Title: [137813] trunk/Source/WebKit2
Revision
137813
Author
[email protected]
Date
2012-12-15 15:11:52 -0800 (Sat, 15 Dec 2012)

Log Message

Add a DownloadProxyMap object to the NetworkProcessProxy object
https://bugs.webkit.org/show_bug.cgi?id=105112

Reviewed by Sam Weinig.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::didClose):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (137812 => 137813)


--- trunk/Source/WebKit2/ChangeLog	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-15 23:11:52 UTC (rev 137813)
@@ -1,5 +1,21 @@
 2012-12-15  Anders Carlsson  <[email protected]>
 
+        Add a DownloadProxyMap object to the NetworkProcessProxy object
+        https://bugs.webkit.org/show_bug.cgi?id=105112
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::createDownloadProxy):
+        (WebKit::NetworkProcessProxy::didClose):
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::createDownloadProxy):
+        * UIProcess/WebProcessProxy.cpp:
+        * UIProcess/WebProcessProxy.h:
+
+2012-12-15  Anders Carlsson  <[email protected]>
+
         Move the download proxy map from the web context to the web process proxy
         https://bugs.webkit.org/show_bug.cgi?id=105109
 

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (137812 => 137813)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 23:11:52 UTC (rev 137813)
@@ -79,6 +79,14 @@
     connection()->send(Messages::NetworkProcess::CreateNetworkConnectionToWebProcess(), 0, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply);
 }
 
+DownloadProxy* NetworkProcessProxy::createDownloadProxy()
+{
+    if (!m_downloadProxyMap)
+        m_downloadProxyMap = adoptPtr(new DownloadProxyMap(m_messageReceiverMap));
+
+    return m_downloadProxyMap->createDownloadProxy(m_webContext);
+}
+
 void NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch()
 {
     // The network process must have crashed or exited, send any pending sync replies we might have.
@@ -108,6 +116,9 @@
     for (size_t i = 0; i < contexts.size(); ++i)
         contexts[i]->sendToAllProcesses(Messages::WebProcess::NetworkProcessCrashed());
 
+    if (m_downloadProxyMap)
+        m_downloadProxyMap->processDidClose();
+
     // This may cause us to be deleted.
     networkProcessCrashedOrFailedToLaunch();
 }

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h (137812 => 137813)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h	2012-12-15 23:11:52 UTC (rev 137813)
@@ -30,12 +30,15 @@
 
 #include "ChildProcessProxy.h"
 #include "Connection.h"
+#include "MessageReceiverMap.h"
 #include "ProcessLauncher.h"
 #include "WebProcessProxyMessages.h"
 #include <wtf/Deque.h>
 
 namespace WebKit {
 
+class DownloadProxy;
+class DownloadProxyMap;
 class WebContext;
 struct NetworkProcessCreationParameters;
 
@@ -46,6 +49,8 @@
 
     void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>);
 
+    DownloadProxy* createDownloadProxy();
+
 #if PLATFORM(MAC)
     void setApplicationIsOccluded(bool);
 #endif
@@ -74,6 +79,9 @@
     
     unsigned m_numPendingConnectionRequests;
     Deque<RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> > m_pendingConnectionReplies;
+
+    CoreIPC::MessageReceiverMap m_messageReceiverMap;
+    OwnPtr<DownloadProxyMap> m_downloadProxyMap;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (137812 => 137813)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2012-12-15 23:11:52 UTC (rev 137813)
@@ -840,12 +840,12 @@
 
 DownloadProxy* WebContext::createDownloadProxy()
 {
-    if (usesNetworkProcess()) {
-        // FIXME (Multi-WebProcess): <rdar://problem/12239483> Make downloading work.
-        return 0;
-    }
+    if (!usesNetworkProcess())
+        return ensureSharedWebProcess()->createDownloadProxy();
 
-    return ensureSharedWebProcess()->createDownloadProxy();
+#if ENABLE(NETWORK_PROCESS)
+    return m_networkProcess->createDownloadProxy();
+#endif
 }
 
 // FIXME: This is not the ideal place for this function.

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (137812 => 137813)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2012-12-15 23:11:52 UTC (rev 137813)
@@ -27,6 +27,7 @@
 #include "WebProcessProxy.h"
 
 #include "DataReference.h"
+#include "DownloadProxyMap.h"
 #include "PluginInfoStore.h"
 #include "PluginProcessManager.h"
 #include "TextChecker.h"

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.h (137812 => 137813)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2012-12-15 22:49:36 UTC (rev 137812)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2012-12-15 23:11:52 UTC (rev 137813)
@@ -27,7 +27,6 @@
 #define WebProcessProxy_h
 
 #include "ChildProcessProxy.h"
-#include "DownloadProxyMap.h"
 #include "MessageReceiverMap.h"
 #include "PlatformProcessIdentifier.h"
 #include "PluginInfoStore.h"
@@ -57,6 +56,7 @@
 class SecItemResponseData;
 #endif
 
+class DownloadProxyMap;
 class WebBackForwardListItem;
 class WebContext;
 class WebPageGroup;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to