| Index: components/nacl/broker/nacl_broker_listener.cc
|
| diff --git a/components/nacl/broker/nacl_broker_listener.cc b/components/nacl/broker/nacl_broker_listener.cc
|
| index c928b001063d414fde356e6c168d477cf0d21078..6161d664b735b980a2cf20fe8935a1164286e509 100644
|
| --- a/components/nacl/broker/nacl_broker_listener.cc
|
| +++ b/components/nacl/broker/nacl_broker_listener.cc
|
| @@ -19,6 +19,7 @@
|
| #include "components/nacl/common/nacl_cmd_line.h"
|
| #include "components/nacl/common/nacl_debug_exception_handler_win.h"
|
| #include "components/nacl/common/nacl_messages.h"
|
| +#include "components/nacl/common/nacl_service.h"
|
| #include "components/nacl/common/nacl_switches.h"
|
| #include "content/public/common/content_switches.h"
|
| #include "content/public/common/mojo_channel_switches.h"
|
| @@ -28,6 +29,7 @@
|
| #include "mojo/edk/embedder/platform_channel_pair.h"
|
| #include "mojo/public/cpp/system/message_pipe.h"
|
| #include "sandbox/win/src/sandbox_policy.h"
|
| +#include "services/service_manager/public/cpp/service_context.h"
|
|
|
| namespace {
|
|
|
| @@ -42,14 +44,12 @@ NaClBrokerListener::NaClBrokerListener() = default;
|
| NaClBrokerListener::~NaClBrokerListener() = default;
|
|
|
| void NaClBrokerListener::Listen() {
|
| - mojo::ScopedMessagePipeHandle handle(
|
| - mojo::edk::CreateChildMessagePipe(
|
| - base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| - switches::kMojoChannelToken)));
|
| - DCHECK(handle.is_valid());
|
| - IPC::ChannelHandle channel_handle(handle.release());
|
| -
|
| - channel_ = IPC::Channel::CreateClient(channel_handle, this);
|
| + mojo::ScopedMessagePipeHandle channel_handle;
|
| + std::unique_ptr<service_manager::ServiceContext> service_context =
|
| + CreateNaClServiceContext(base::ThreadTaskRunnerHandle::Get(),
|
| + &channel_handle);
|
| +
|
| + channel_ = IPC::Channel::CreateClient(channel_handle.release(), this);
|
| CHECK(channel_->Connect());
|
| run_loop_.Run();
|
| }
|
| @@ -138,7 +138,7 @@ void NaClBrokerListener::OnLaunchLoaderThroughBroker(
|
| mojo::ScopedMessagePipeHandle host_message_pipe =
|
| mojo::edk::CreateParentMessagePipe(mojo_channel_token,
|
| mojo_child_token);
|
| - cmd_line->AppendSwitchASCII(switches::kMojoChannelToken,
|
| + cmd_line->AppendSwitchASCII(switches::kServiceRequestChannelToken,
|
| mojo_channel_token);
|
| CHECK_EQ(MOJO_RESULT_OK,
|
| mojo::FuseMessagePipes(std::move(loader_message_pipe),
|
|
|