diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
| commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
| tree | e367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp | |
| parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (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.cpp | 32 |
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) |
