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