diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
commit | 8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch) | |
tree | 17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp | |
parent | b9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff) | |
download | qtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz |
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well
as the previously cherry-picked changes
Diffstat (limited to 'Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp | 42 |
1 files changed, 12 insertions, 30 deletions
diff --git a/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp b/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp index 5e7955d67..5e152ee98 100644 --- a/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp +++ b/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp @@ -40,47 +40,34 @@ PassRefPtr<WebConnectionToUIProcess> WebConnectionToUIProcess::create(WebProcess } WebConnectionToUIProcess::WebConnectionToUIProcess(WebProcess* process, CoreIPC::Connection::Identifier connectionIdentifier, RunLoop* runLoop) - : m_process(process) - , m_connection(CoreIPC::Connection::createClientConnection(connectionIdentifier, this, runLoop)) + : WebConnection(CoreIPC::Connection::createClientConnection(connectionIdentifier, this, runLoop)) + , m_process(process) { m_connection->setDidCloseOnConnectionWorkQueueCallback(ChildProcess::didCloseOnConnectionWorkQueue); m_connection->setShouldExitOnSyncMessageSendFailure(true); } -void WebConnectionToUIProcess::invalidate() +// WebConnection + +void WebConnectionToUIProcess::encodeMessageBody(CoreIPC::ArgumentEncoder* argumentEncoder, APIObject* messageBody) { - m_connection->invalidate(); - m_connection = nullptr; - m_process = 0; + argumentEncoder->encode(InjectedBundleUserMessageEncoder(messageBody)); } -// WebConnection - -void WebConnectionToUIProcess::postMessage(const String& messageName, APIObject* messageBody) +bool WebConnectionToUIProcess::decodeMessageBody(CoreIPC::ArgumentDecoder* argumentDecoder, RefPtr<APIObject>& messageBody) { - if (!m_process) - return; + if (!argumentDecoder->decode(InjectedBundleUserMessageDecoder(messageBody))) + return false; - m_connection->deprecatedSend(WebConnectionLegacyMessage::PostMessage, 0, CoreIPC::In(messageName, InjectedBundleUserMessageEncoder(messageBody))); + return true; } // CoreIPC::Connection::Client void WebConnectionToUIProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) { - if (messageID.is<CoreIPC::MessageClassWebConnectionLegacy>()) { - switch (messageID.get<WebConnectionLegacyMessage::Kind>()) { - case WebConnectionLegacyMessage::PostMessage: { - String messageName; - RefPtr<APIObject> messageBody; - InjectedBundleUserMessageDecoder messageDecoder(messageBody); - if (!arguments->decode(CoreIPC::Out(messageName, messageDecoder))) - return; - - forwardDidReceiveMessageToClient(messageName, messageBody.get()); - return; - } - } + if (messageID.is<CoreIPC::MessageClassWebConnection>()) { + didReceiveWebConnectionMessage(connection, messageID, arguments); return; } @@ -102,11 +89,6 @@ void WebConnectionToUIProcess::didReceiveInvalidMessage(CoreIPC::Connection* con m_process->didReceiveInvalidMessage(connection, messageID); } -void WebConnectionToUIProcess::syncMessageSendTimedOut(CoreIPC::Connection* connection) -{ - m_process->syncMessageSendTimedOut(connection); -} - #if PLATFORM(WIN) Vector<HWND> WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply() { |