Diff
Modified: trunk/Source/WebKit2/ChangeLog (135016 => 135017)
--- trunk/Source/WebKit2/ChangeLog 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/ChangeLog 2012-11-17 00:40:15 UTC (rev 135017)
@@ -1,3 +1,47 @@
+2012-11-16 Brady Eidson <beid...@apple.com>
+
+ Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
+ https://bugs.webkit.org/show_bug.cgi?id=102570
+
+ Reviewed by Alexey Proskuryakov.
+
+ This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
+
+ This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
+ loader related messaging going forward.
+
+ Build/infrastructure stuff:
+ * Platform/CoreIPC/MessageID.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * DerivedSources.make:
+
+ Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
+ * NetworkProcess/NetworkConnectionToWebProcess.h:
+ * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+
+ Hang on to a master map of identifiers to NetworkResourceLoaders:
+ * NetworkProcess/NetworkResourceLoadScheduler.cpp:
+ (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
+ (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
+ (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
+ * NetworkProcess/NetworkResourceLoadScheduler.h:
+
+ Change the way "willSendRequestHandled" comes in to be a direct message:
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::willSendRequest):
+ (WebKit::NetworkResourceLoader::willSendRequestHandled):
+ * NetworkProcess/NetworkResourceLoader.h:
+ * NetworkProcess/NetworkResourceLoader.messages.in:
+
+ Make WebResourceLoader a MessageSender:
+ * WebProcess/Network/WebResourceLoader.cpp:
+ (WebKit::WebResourceLoader::connection):
+ (WebKit::WebResourceLoader::destinationID):
+ (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
+ * WebProcess/Network/WebResourceLoader.h:
+
2012-11-16 Tony Chang <t...@chromium.org>
Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
Modified: trunk/Source/WebKit2/DerivedSources.make (135016 => 135017)
--- trunk/Source/WebKit2/DerivedSources.make 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/DerivedSources.make 2012-11-17 00:40:15 UTC (rev 135017)
@@ -79,6 +79,7 @@
WebCookieManagerProxy \
WebConnection \
NetworkConnectionToWebProcess \
+ NetworkResourceLoader \
RemoteLayerTreeHost \
WebContext \
WebDatabaseManager \
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp 2012-11-17 00:40:15 UTC (rev 135017)
@@ -76,6 +76,13 @@
didReceiveNetworkConnectionToWebProcessMessage(connection, messageID, decoder);
return;
}
+
+ if (messageID.is<CoreIPC::MessageClassNetworkResourceLoader>()) {
+ NetworkResourceLoader* loader = NetworkProcess::shared().networkResourceLoadScheduler().networkResourceLoaderForIdentifier(decoder.destinationID());
+ if (loader)
+ loader->didReceiveNetworkResourceLoaderMessage(connection, messageID, decoder);
+ return;
+ }
ASSERT_NOT_REACHED();
}
@@ -145,11 +152,6 @@
m_serialLoadingEnabled = enabled;
}
-void NetworkConnectionToWebProcess::willSendRequestHandled(uint64_t requestID, const WebCore::ResourceRequest& newRequest)
-{
- didReceiveWillSendRequestHandled(requestID, newRequest);
-}
-
} // namespace WebKit
#endif // ENABLE(NETWORK_PROCESS)
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h 2012-11-17 00:40:15 UTC (rev 135017)
@@ -82,7 +82,6 @@
void suspendPendingRequests();
void resumePendingRequests();
void setSerialLoadingEnabled(bool);
- void willSendRequestHandled(uint64_t requestID, const WebCore::ResourceRequest&);
RefPtr<CoreIPC::Connection> m_connection;
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2012-11-17 00:40:15 UTC (rev 135017)
@@ -38,8 +38,6 @@
ResumePendingRequests() -> ()
SetSerialLoadingEnabled(bool enabled) -> ()
-
- WillSendRequestHandled(uint64_t requestID, WebCore::ResourceRequest newRequest)
}
#endif // ENABLE(NETWORK_PROCESS)
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp 2012-11-17 00:40:15 UTC (rev 135017)
@@ -46,6 +46,8 @@
ResourceLoadIdentifier identifier = ++s_currentResourceLoadIdentifier;
RefPtr<NetworkResourceLoader> loader = NetworkResourceLoader::create(loadParameters, identifier, connection);
+
+ m_resourceLoaders.add(identifier, loader);
LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::scheduleNetworkResourceRequest resource %llu '%s'", identifier, resourceRequest.url().string().utf8().data());
@@ -108,10 +110,18 @@
// In this situation we might not have a HostRecord to clean up.
if (host)
host->remove(identifier);
+
+ m_resourceLoaders.remove(identifier);
scheduleServePendingRequests();
}
+NetworkResourceLoader* NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier(ResourceLoadIdentifier identifier)
+{
+ ASSERT(m_resourceLoaders.get(identifier));
+ return m_resourceLoaders.get(identifier).get();
+}
+
void NetworkResourceLoadScheduler::receivedRedirect(ResourceLoadIdentifier identifier, const WebCore::KURL& redirectURL)
{
ASSERT(isMainThread());
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h 2012-11-17 00:40:15 UTC (rev 135017)
@@ -26,6 +26,7 @@
#ifndef NetworkResourceLoadScheduler_h
#define NetworkResourceLoadScheduler_h
+#include "NetworkResourceLoader.h"
#include <WebCore/ResourceLoaderOptions.h>
#include <WebCore/ResourceRequest.h>
#include <WebCore/Timer.h>
@@ -63,6 +64,8 @@
void suspendPendingRequests();
void resumePendingRequests();
+ NetworkResourceLoader* networkResourceLoaderForIdentifier(ResourceLoadIdentifier);
+
private:
enum CreateHostPolicy {
CreateIfNotFound,
@@ -81,6 +84,8 @@
static void removeScheduledLoadIdentifiers(void* context);
void removeScheduledLoadIdentifiers();
+ HashMap<ResourceLoadIdentifier, RefPtr<NetworkResourceLoader> > m_resourceLoaders;
+
typedef HashMap<String, HostRecord*, StringHash> HostMap;
HostMap m_hosts;
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp 2012-11-17 00:40:15 UTC (rev 135017)
@@ -191,11 +191,6 @@
return OSAtomicIncrement64Barrier(&uniqueWillSendRequestID);
}
-void didReceiveWillSendRequestHandled(uint64_t requestID, const ResourceRequest& request)
-{
- responseMap().didReceiveResponse(requestID, adoptPtr(new ResourceRequest(request)));
-}
-
void NetworkResourceLoader::willSendRequest(ResourceHandle*, ResourceRequest& request, const ResourceResponse& redirectResponse)
{
// We only expect to get the willSendRequest callback from ResourceHandle as the result of a redirect
@@ -211,6 +206,11 @@
RunLoop::main()->dispatch(WTF::bind(&NetworkResourceLoadScheduler::receivedRedirect, &NetworkProcess::shared().networkResourceLoadScheduler(), m_identifier, request.url()));
}
+void NetworkResourceLoader::willSendRequestHandled(uint64_t requestID, const WebCore::ResourceRequest& newRequest)
+{
+ responseMap().didReceiveResponse(requestID, adoptPtr(new ResourceRequest(newRequest)));
+}
+
// FIXME (NetworkProcess): Many of the following ResourceHandleClient methods definitely need implementations. A few will not.
// Once we know what they are they can be removed.
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.h (135016 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.h 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.h 2012-11-17 00:40:15 UTC (rev 135017)
@@ -58,6 +58,8 @@
CoreIPC::Connection* connection() const;
uint64_t destinationID() const { return identifier(); }
+ void didReceiveNetworkResourceLoaderMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
+
void start();
virtual void connectionToWebProcessDidClose(NetworkConnectionToWebProcess*) OVERRIDE;
@@ -108,6 +110,8 @@
private:
NetworkResourceLoader(const NetworkResourceLoadParameters&, ResourceLoadIdentifier, NetworkConnectionToWebProcess*);
+ void willSendRequestHandled(uint64_t requestID, const WebCore::ResourceRequest&);
+
void scheduleStopOnMainThread();
static void performStops(void*);
@@ -121,8 +125,6 @@
RefPtr<NetworkConnectionToWebProcess> m_connection;
};
-void didReceiveWillSendRequestHandled(uint64_t requestID, const WebCore::ResourceRequest&);
-
} // namespace WebKit
#endif // ENABLE(NETWORK_PROCESS)
Copied: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in (from rev 135016, trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in) (0 => 135017)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in (rev 0)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in 2012-11-17 00:40:15 UTC (rev 135017)
@@ -0,0 +1,29 @@
+# Copyright (C) 2012 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#if ENABLE(NETWORK_PROCESS)
+
+messages -> NetworkResourceLoader {
+ WillSendRequestHandled(uint64_t requestID, WebCore::ResourceRequest newRequest)
+}
+
+#endif // ENABLE(NETWORK_PROCESS)
Modified: trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h (135016 => 135017)
--- trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h 2012-11-17 00:40:15 UTC (rev 135017)
@@ -115,6 +115,7 @@
// Messages sent by the web process to the network process.
MessageClassNetworkConnectionToWebProcess,
+ MessageClassNetworkResourceLoader,
// Messages sent by the network process to a web process.
MessageClassNetworkProcessConnection,
Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (135016 => 135017)
--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2012-11-17 00:40:15 UTC (rev 135017)
@@ -459,6 +459,8 @@
5163199416289A6000E22F00 /* NetworkProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51ACC9341628064800342550 /* NetworkProcessMessageReceiver.cpp */; };
5163199516289A6300E22F00 /* NetworkProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACC9351628064800342550 /* NetworkProcessMessages.h */; };
516A4A5D120A2CCD00C05B7F /* WebError.h in Headers */ = {isa = PBXBuildFile; fileRef = 516A4A5B120A2CCD00C05B7F /* WebError.h */; };
+ 5175944A1657080400DD771D /* NetworkResourceLoaderMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517594481657080400DD771D /* NetworkResourceLoaderMessageReceiver.cpp */; };
+ 5175944B1657080400DD771D /* NetworkResourceLoaderMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 517594491657080400DD771D /* NetworkResourceLoaderMessages.h */; };
51795565162876C500FA43B6 /* NetworkProcessMainMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 510CC7DD16138E2900D03ED3 /* NetworkProcessMainMac.mm */; };
51795567162876CB00FA43B6 /* NetworkProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51A8A6151627F3F9000D90E9 /* NetworkProcessMac.mm */; };
51795568162876CF00FA43B6 /* NetworkProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510CC7DF16138E2900D03ED3 /* NetworkProcess.cpp */; };
@@ -1497,8 +1499,8 @@
2984F580164B9BBD004BC0C6 /* CustomProtocolManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomProtocolManager.h; path = Network/CustomProtocols/CustomProtocolManager.h; sourceTree = "<group>"; };
2984F582164B9BD9004BC0C6 /* CustomProtocolManagerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CustomProtocolManagerMac.mm; path = Network/CustomProtocols/mac/CustomProtocolManagerMac.mm; sourceTree = "<group>"; };
2984F584164B9ED9004BC0C6 /* CustomProtocolManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CustomProtocolManager.messages.in; path = Network/CustomProtocols/CustomProtocolManager.messages.in; sourceTree = "<group>"; };
- 2984F586164BA095004BC0C6 /* CustomProtocolManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomProtocolManagerMessageReceiver.cpp; path = CustomProtocolManagerMessageReceiver.cpp; sourceTree = "<group>"; };
- 2984F587164BA095004BC0C6 /* CustomProtocolManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomProtocolManagerMessages.h; path = CustomProtocolManagerMessages.h; sourceTree = "<group>"; };
+ 2984F586164BA095004BC0C6 /* CustomProtocolManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomProtocolManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+ 2984F587164BA095004BC0C6 /* CustomProtocolManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomProtocolManagerMessages.h; sourceTree = "<group>"; };
29AD3092164B4C5D0072DEA9 /* CustomProtocolManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomProtocolManagerProxy.h; path = CustomProtocols/CustomProtocolManagerProxy.h; sourceTree = "<group>"; };
29AD3095164B4C930072DEA9 /* CustomProtocolManagerProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CustomProtocolManagerProxyMac.mm; path = CustomProtocols/mac/CustomProtocolManagerProxyMac.mm; sourceTree = "<group>"; };
29AD3097164B4E210072DEA9 /* CustomProtocolManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CustomProtocolManagerProxy.messages.in; path = CustomProtocols/CustomProtocolManagerProxy.messages.in; sourceTree = "<group>"; };
@@ -1695,10 +1697,13 @@
513A164B1630A9BF005D7D22 /* NetworkConnectionToWebProcess.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NetworkConnectionToWebProcess.messages.in; path = NetworkProcess/NetworkConnectionToWebProcess.messages.in; sourceTree = "<group>"; };
5153569A1291B1D2000749DC /* WebPageContextMenuClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageContextMenuClient.cpp; sourceTree = "<group>"; };
5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageContextMenuClient.h; sourceTree = "<group>"; };
+ 515705521657018C00101A90 /* NetworkResourceLoader.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; name = NetworkResourceLoader.messages.in; path = NetworkProcess/NetworkResourceLoader.messages.in; sourceTree = "<group>"; };
51578B821209ECEF00A37C4A /* WebData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebData.h; sourceTree = "<group>"; };
5160BFE013381DF900918999 /* Logging.mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Logging.mac.mm; sourceTree = "<group>"; };
516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkProcessProxyMac.mm; path = mac/NetworkProcessProxyMac.mm; sourceTree = "<group>"; };
516A4A5B120A2CCD00C05B7F /* WebError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebError.h; sourceTree = "<group>"; };
+ 517594481657080400DD771D /* NetworkResourceLoaderMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkResourceLoaderMessageReceiver.cpp; sourceTree = "<group>"; };
+ 517594491657080400DD771D /* NetworkResourceLoaderMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkResourceLoaderMessages.h; sourceTree = "<group>"; };
517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKApplicationCacheManager.cpp; sourceTree = "<group>"; };
517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKApplicationCacheManager.h; sourceTree = "<group>"; };
517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
@@ -3140,6 +3145,7 @@
510CC7E116138E2900D03ED3 /* NetworkProcessMain.h */,
51FD18B31651FBAD00DBE1CE /* NetworkResourceLoader.cpp */,
51FD18B41651FBAD00DBE1CE /* NetworkResourceLoader.h */,
+ 515705521657018C00101A90 /* NetworkResourceLoader.messages.in */,
51829DA31637C70C000953D6 /* NetworkResourceLoadScheduler.cpp */,
51829DA41637C70C000953D6 /* NetworkResourceLoadScheduler.h */,
);
@@ -4262,6 +4268,8 @@
51ACC9351628064800342550 /* NetworkProcessMessages.h */,
513A163A163088F6005D7D22 /* NetworkProcessProxyMessageReceiver.cpp */,
513A163B163088F6005D7D22 /* NetworkProcessProxyMessages.h */,
+ 517594481657080400DD771D /* NetworkResourceLoaderMessageReceiver.cpp */,
+ 517594491657080400DD771D /* NetworkResourceLoaderMessages.h */,
1A2D8437127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp */,
1A2D8438127F65D5001EB962 /* NPObjectMessageReceiverMessages.h */,
1A8EF96C1252AF6B00F7067F /* PluginControllerProxyMessageReceiver.cpp */,
@@ -4991,6 +4999,7 @@
2984F581164B9BBD004BC0C6 /* CustomProtocolManager.h in Headers */,
2984F589164BA095004BC0C6 /* CustomProtocolManagerMessages.h in Headers */,
51F060E01654317F00F3281B /* WebResourceLoaderMessages.h in Headers */,
+ 5175944B1657080400DD771D /* NetworkResourceLoaderMessages.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -5944,6 +5953,7 @@
2984F583164B9BD9004BC0C6 /* CustomProtocolManagerMac.mm in Sources */,
2984F588164BA095004BC0C6 /* CustomProtocolManagerMessageReceiver.cpp in Sources */,
51F060E11654318500F3281B /* WebResourceLoaderMessageReceiver.cpp in Sources */,
+ 5175944A1657080400DD771D /* NetworkResourceLoaderMessageReceiver.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp (135016 => 135017)
--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp 2012-11-17 00:40:15 UTC (rev 135017)
@@ -32,6 +32,7 @@
#include "Logging.h"
#include "NetworkConnectionToWebProcessMessages.h"
#include "NetworkProcessConnection.h"
+#include "NetworkResourceLoaderMessages.h"
#include "WebCoreArgumentCoders.h"
#include "WebProcess.h"
#include <WebCore/ResourceLoader.h>
@@ -54,6 +55,16 @@
{
}
+CoreIPC::Connection* WebResourceLoader::connection() const
+{
+ return WebProcess::shared().networkConnection()->connection();
+}
+
+uint64_t WebResourceLoader::destinationID() const
+{
+ return m_coreLoader->identifier();
+}
+
void WebResourceLoader::willSendRequest(uint64_t requestID, const ResourceRequest& proposedRequest, const ResourceResponse& redirectResponse)
{
LOG(Network, "(WebProcess) WebResourceLoader::willSendRequest to '%s'", proposedRequest.url().string().utf8().data());
@@ -61,7 +72,7 @@
ResourceRequest newRequest = proposedRequest;
m_coreLoader->willSendRequest(newRequest, redirectResponse);
- WebProcess::shared().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::WillSendRequestHandled(requestID, newRequest), 0);
+ send(Messages::NetworkResourceLoader::WillSendRequestHandled(requestID, newRequest));
}
void WebResourceLoader::didReceiveResponse(const WebCore::ResourceResponse& response)
Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h (135016 => 135017)
--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h 2012-11-17 00:31:28 UTC (rev 135016)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h 2012-11-17 00:40:15 UTC (rev 135017)
@@ -29,6 +29,7 @@
#if ENABLE(NETWORK_PROCESS)
#include "Connection.h"
+#include "MessageSender.h"
#include "ShareableResource.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
@@ -50,12 +51,16 @@
typedef uint64_t ResourceLoadIdentifier;
-class WebResourceLoader : public RefCounted<WebResourceLoader> {
+class WebResourceLoader : public RefCounted<WebResourceLoader>, public CoreIPC::MessageSender<WebResourceLoader> {
public:
static PassRefPtr<WebResourceLoader> create(PassRefPtr<WebCore::ResourceLoader>);
~WebResourceLoader();
+ // Used by MessageSender.
+ CoreIPC::Connection* connection() const;
+ uint64_t destinationID() const;
+
void didReceiveWebResourceLoaderMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
private: