summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp
diff options
context:
space:
mode:
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()
{