diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/WebContext.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/WebContext.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp index e024f175e..b5bbea4cd 100644 --- a/Source/WebKit2/UIProcess/WebContext.cpp +++ b/Source/WebKit2/UIProcess/WebContext.cpp @@ -514,17 +514,19 @@ DownloadProxy* WebContext::download(WebPageProxy* initiatingPage, const Resource void WebContext::postMessageToInjectedBundle(const String& messageName, APIObject* messageBody) { - if (m_processModel == ProcessModelSharedSecondaryProcess) { - if (m_processes.isEmpty() || !m_processes[0]->canSendMessage()) { + if (m_processes.isEmpty()) { + m_pendingMessagesToPostToInjectedBundle.append(std::make_pair(messageName, messageBody)); + return; + } + + for (size_t i = 0; i < m_processes.size(); ++i) { + // FIXME (Multi-WebProcess): Evolve m_pendingMessagesToPostToInjectedBundle to work with multiple secondary processes. + if (!m_processes[i]->canSendMessage()) { m_pendingMessagesToPostToInjectedBundle.append(std::make_pair(messageName, messageBody)); - return; + continue; } - - // FIXME: We should consider returning false from this function if the messageBody cannot - // be encoded. - m_processes[0]->deprecatedSend(InjectedBundleMessage::PostMessage, 0, CoreIPC::In(messageName, WebContextUserMessageEncoder(messageBody))); - } else { - // FIXME (Multi-WebProcess): Implement. + // FIXME: We should consider returning false from this function if the messageBody cannot be encoded. + m_processes[i]->deprecatedSend(InjectedBundleMessage::PostMessage, 0, CoreIPC::In(messageName, WebContextUserMessageEncoder(messageBody))); } } |