Index: content/child/mojo/mojo_application.cc |
diff --git a/content/child/mojo/mojo_application.cc b/content/child/mojo/mojo_application.cc |
index 34fc314f14f9e7cba4a6282a94d9b7d504160bb8..f896dc69a49dd7526ff8a1d277aaa84c92f21a98 100644 |
--- a/content/child/mojo/mojo_application.cc |
+++ b/content/child/mojo/mojo_application.cc |
@@ -6,6 +6,7 @@ |
#include "content/child/child_process.h" |
#include "content/common/application_setup.mojom.h" |
+#include "content/common/mojo/channel_init.h" |
#include "content/common/mojo/mojo_messages.h" |
#include "ipc/ipc_message.h" |
#include "third_party/mojo/src/mojo/public/cpp/bindings/interface_ptr.h" |
@@ -34,9 +35,15 @@ void MojoApplication::OnActivate( |
#elif defined(OS_WIN) |
base::PlatformFile handle = file; |
#endif |
+ scoped_refptr<base::TaskRunner> io_task_runner = |
+ ChannelInit::GetSingleProcessIOTaskRunner(); |
+ if (!io_task_runner) { |
+ io_task_runner = ChildProcess::current()->io_message_loop_proxy(); |
+ } |
+ DCHECK(io_task_runner); |
+ |
mojo::ScopedMessagePipeHandle message_pipe = |
- channel_init_.Init(handle, |
- ChildProcess::current()->io_message_loop_proxy()); |
+ channel_init_.Init(handle, io_task_runner); |
DCHECK(message_pipe.is_valid()); |
ApplicationSetupPtr application_setup; |