| Index: shell/child_process_host.cc
|
| diff --git a/shell/child_process_host.cc b/shell/child_process_host.cc
|
| index 880d9567c491ddc2460238f575e0d384f3557cd1..e4d17459538a3296201ab6a256508da9e1e99dbc 100644
|
| --- a/shell/child_process_host.cc
|
| +++ b/shell/child_process_host.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/location.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/posix/global_descriptors.h"
|
| #include "base/process/kill.h"
|
| #include "base/process/launch.h"
|
| #include "base/task_runner.h"
|
| @@ -67,7 +68,7 @@ void ChildProcessHost::Start(const NativeApplicationOptions& options) {
|
| // |base_edk::PlatformTaskRunnerImpl| for each instance. Instead, there should
|
| // be one per thread.
|
| mojo::ScopedMessagePipeHandle handle(mojo::embedder::ConnectToSlave(
|
| - nullptr, launch_data->platform_channel_pair.PassServerHandle(),
|
| + nullptr, launch_data->platform_channel_pair.handle0.Pass(),
|
| [this]() { DidConnectToSlave(); },
|
| MakeRefCounted<base_edk::PlatformTaskRunnerImpl>(
|
| base::ThreadTaskRunnerHandle::Get()),
|
| @@ -143,15 +144,12 @@ base::Process ChildProcessHost::DoLaunch(scoped_ptr<LaunchData> launch_data) {
|
| child_command_line.AppendSwitchASCII(switches::kChildConnectionId,
|
| launch_data->child_connection_id);
|
|
|
| - mojo::embedder::HandlePassingInformation handle_passing_info;
|
| - std::string platform_channel_info;
|
| - launch_data->platform_channel_pair.PrepareToPassClientHandleToChildProcess(
|
| - &platform_channel_info, &handle_passing_info);
|
| - child_command_line.AppendSwitchASCII(switches::kPlatformChannelHandleInfo,
|
| - platform_channel_info);
|
| -
|
| + base::FileHandleMappingVector fds_to_remap;
|
| + fds_to_remap.push_back(
|
| + std::pair<int, int>(launch_data->platform_channel_pair.handle1.get().fd,
|
| + base::GlobalDescriptors::kBaseDescriptor));
|
| base::LaunchOptions options;
|
| - options.fds_to_remap = &handle_passing_info;
|
| + options.fds_to_remap = &fds_to_remap;
|
| #if defined(OS_LINUX)
|
| options.allow_new_privs = launch_data->options.allow_new_privs;
|
| #endif
|
| @@ -160,7 +158,7 @@ base::Process ChildProcessHost::DoLaunch(scoped_ptr<LaunchData> launch_data) {
|
| base::Process child_process =
|
| base::LaunchProcess(child_command_line, options);
|
| if (child_process.IsValid())
|
| - launch_data->platform_channel_pair.ChildProcessLaunched();
|
| + launch_data->platform_channel_pair.handle1.reset();
|
| return child_process.Pass();
|
| }
|
|
|
|
|