summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp')
-rw-r--r--Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp32
1 files changed, 28 insertions, 4 deletions
diff --git a/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp b/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp
index 9b687ba7c..dfa859fce 100644
--- a/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp
+++ b/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp
@@ -31,6 +31,10 @@
#include "WebCoreArgumentCoders.h"
#include "WebProcess.h"
#include "WebResourceBuffer.h"
+#include "WebResourceLoadScheduler.h"
+#include "WebResourceLoaderMessages.h"
+#include <WebCore/CachedResource.h>
+#include <WebCore/MemoryCache.h>
#include <WebCore/ResourceBuffer.h>
#if ENABLE(NETWORK_PROCESS)
@@ -41,7 +45,7 @@ namespace WebKit {
NetworkProcessConnection::NetworkProcessConnection(CoreIPC::Connection::Identifier connectionIdentifier)
{
- m_connection = CoreIPC::Connection::createClientConnection(connectionIdentifier, this, WebProcess::shared().runLoop());
+ m_connection = CoreIPC::Connection::createClientConnection(connectionIdentifier, this, RunLoop::main());
m_connection->open();
}
@@ -49,15 +53,20 @@ NetworkProcessConnection::~NetworkProcessConnection()
{
}
-void NetworkProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
+void NetworkProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder)
{
- if (messageID.is<CoreIPC::MessageClassWebResourceLoader>()) {
+ if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
if (WebResourceLoader* webResourceLoader = WebProcess::shared().webResourceLoadScheduler().webResourceLoaderForIdentifier(decoder.destinationID()))
- webResourceLoader->didReceiveWebResourceLoaderMessage(connection, messageID, decoder);
+ webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
return;
}
+ didReceiveNetworkProcessConnectionMessage(connection, decoder);
+}
+
+void NetworkProcessConnection::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder)
+{
ASSERT_NOT_REACHED();
}
@@ -71,6 +80,21 @@ void NetworkProcessConnection::didReceiveInvalidMessage(CoreIPC::Connection*, Co
{
}
+void NetworkProcessConnection::didCacheResource(const ResourceRequest& request, const ShareableResource::Handle& handle)
+{
+ CachedResource* resource = memoryCache()->resourceForRequest(request);
+ if (!resource)
+ return;
+
+ RefPtr<SharedBuffer> buffer = handle.tryWrapInSharedBuffer();
+ if (!buffer) {
+ LOG_ERROR("Unabled to create SharedBuffer from ShareableResource handle for resource url %s", request.url().string().utf8().data());
+ return;
+ }
+
+ resource->tryReplaceEncodedData(buffer.release());
+}
+
} // namespace WebKit
#endif // ENABLE(NETWORK_PROCESS)