diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/WebProcess.cpp')
| -rw-r--r-- | Source/WebKit2/WebProcess/WebProcess.cpp | 16 | 
1 files changed, 14 insertions, 2 deletions
| diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp index 43e7d7021..33be75989 100644 --- a/Source/WebKit2/WebProcess/WebProcess.cpp +++ b/Source/WebKit2/WebProcess/WebProcess.cpp @@ -194,6 +194,11 @@ void WebProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, Ru      startRandomCrashThreadIfRequested();  } +void WebProcess::addMessageReceiver(CoreIPC::StringReference messageReceiverName, CoreIPC::MessageReceiver* messageReceiver) +{ +    m_messageReceiverMap.addMessageReceiver(messageReceiverName, messageReceiver); +} +  void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::MessageDecoder& decoder)  {      ASSERT(m_pageMap.isEmpty()); @@ -645,7 +650,10 @@ void WebProcess::terminate()  }  void WebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) -{    +{ +    if (m_messageReceiverMap.dispatchSyncMessage(connection, messageID, decoder, replyEncoder)) +        return; +      uint64_t pageID = decoder.destinationID();      if (!pageID)          return; @@ -659,6 +667,9 @@ void WebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC:  void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)  { +    if (m_messageReceiverMap.dispatchMessage(connection, messageID, decoder)) +        return; +      if (messageID.is<CoreIPC::MessageClassWebProcess>()) {          didReceiveWebProcessMessage(connection, messageID, decoder);          return; @@ -1056,7 +1067,8 @@ void WebProcess::postInjectedBundleMessage(const CoreIPC::DataReference& message          return;      RefPtr<APIObject> messageBody; -    if (!decoder->decode(InjectedBundleUserMessageDecoder(messageBody))) +    InjectedBundleUserMessageDecoder messageBodyDecoder(messageBody); +    if (!decoder->decode(messageBodyDecoder))          return;      injectedBundle->didReceiveMessage(messageName, messageBody.get()); | 
