Index: content/browser/renderer_host/render_process_host_impl.cc |
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc |
index 0103ce7ebffa6b0f5281ed07a0c7c184b3a394ea..63869909be505ce972a59c6890df0d8822bfd61b 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -136,6 +136,7 @@ |
#include "ipc/ipc_logging.h" |
#include "ipc/ipc_switches.h" |
#include "ipc/mojo/ipc_channel_mojo.h" |
+#include "ipc/mojo/ipc_channel_mojo_host.h" |
#include "media/base/media_switches.h" |
#include "net/url_request/url_request_context_getter.h" |
#include "ppapi/shared_impl/ppapi_switches.h" |
@@ -426,7 +427,9 @@ RenderProcessHostImpl::RenderProcessHostImpl( |
BrowserContext* browser_context, |
StoragePartitionImpl* storage_partition_impl, |
bool is_isolated_guest) |
- : fast_shutdown_started_(false), |
+ : channel_host_(new IPC::ChannelMojoHost( |
viettrungluu
2014/09/17 17:33:15
Do you want to create this even if ShouldUseMojoCh
Hajime Morrita
2014/09/17 19:33:48
Good point. make it lazy.
|
+ BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO))), |
+ fast_shutdown_started_(false), |
deleting_soon_(false), |
#ifndef NDEBUG |
is_self_deleted_(false), |
@@ -650,9 +653,9 @@ scoped_ptr<IPC::ChannelProxy> RenderProcessHostImpl::CreateChannelProxy( |
if (ShouldUseMojoChannel()) { |
VLOG(1) << "Mojo Channel is enabled on host"; |
return IPC::ChannelProxy::Create( |
- IPC::ChannelMojo::CreateFactory( |
- channel_id, IPC::Channel::MODE_SERVER, runner), |
- this, runner.get()); |
+ IPC::ChannelMojo::CreateServerFactory(channel_host_.get(), channel_id), |
+ this, |
+ runner.get()); |
} |
return IPC::ChannelProxy::Create( |
@@ -2070,6 +2073,8 @@ void RenderProcessHostImpl::OnProcessLaunched() { |
// Chrome IPC message. |
mojo_application_host_->Activate(this, GetHandle()); |
+ channel_host_->OnClientLaunched(child_process_launcher_->GetHandle()); |
+ |
while (!queued_messages_.empty()) { |
Send(queued_messages_.front()); |
queued_messages_.pop(); |