summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-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.cpp42
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()
{