summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/WebContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/WebContext.cpp')
-rw-r--r--Source/WebKit2/UIProcess/WebContext.cpp20
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)));
}
}