Index: content/common/mojo/mojo_shell_connection_impl.cc |
diff --git a/content/common/mojo/mojo_shell_connection_impl.cc b/content/common/mojo/mojo_shell_connection_impl.cc |
index 5125df35de953d4f6e615a3569d5035e4ca5ca6a..25c8be1c0e7eae4a06dcdab0f5bbb078502246f2 100644 |
--- a/content/common/mojo/mojo_shell_connection_impl.cc |
+++ b/content/common/mojo/mojo_shell_connection_impl.cc |
@@ -31,19 +31,26 @@ bool IsRunningInMojoShell() { |
// static |
void MojoShellConnectionImpl::Create() { |
DCHECK(IsRunningInMojoShell()); |
+ CreateWithMessagePipe(mojo::ScopedMessagePipeHandle()); |
+} |
+ |
+// static |
+void MojoShellConnectionImpl::CreateWithMessagePipe( |
+ mojo::ScopedMessagePipeHandle handle) { |
DCHECK(!lazy_tls_ptr.Pointer()->Get()); |
MojoShellConnectionImpl* connection = new MojoShellConnectionImpl; |
lazy_tls_ptr.Pointer()->Set(connection); |
- connection->WaitForShell(); |
+ connection->WaitForShell(handle.Pass()); |
} |
MojoShellConnectionImpl::MojoShellConnectionImpl() : initialized_(false) {} |
MojoShellConnectionImpl::~MojoShellConnectionImpl() {} |
-void MojoShellConnectionImpl::WaitForShell() { |
+void MojoShellConnectionImpl::WaitForShell( |
+ mojo::ScopedMessagePipeHandle handle) { |
mojo::InterfaceRequest<mojo::Application> application_request; |
- runner_connection_.reset( |
- mojo::runner::RunnerConnection::ConnectToRunner(&application_request)); |
+ runner_connection_.reset(mojo::runner::RunnerConnection::ConnectToRunner( |
+ &application_request, handle.Pass())); |
application_impl_.reset(new mojo::ApplicationImpl( |
this, application_request.Pass())); |
application_impl_->WaitForInitialize(); |