| Index: content/browser/child_process_launcher.cc
|
| diff --git a/content/browser/child_process_launcher.cc b/content/browser/child_process_launcher.cc
|
| index 36f0c5098c7207548f6ebf73ae41f2bf63daad27..ffd9c695ec677f782df3730b9873b1e55482624d 100644
|
| --- a/content/browser/child_process_launcher.cc
|
| +++ b/content/browser/child_process_launcher.cc
|
| @@ -395,6 +395,7 @@ ChildProcessLauncher::ChildProcessLauncher(
|
| base::CommandLine* cmd_line,
|
| int child_process_id,
|
| Client* client,
|
| + const std::string& mojo_child_token,
|
| bool terminate_on_shutdown)
|
| : client_(client),
|
| termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION),
|
| @@ -408,6 +409,7 @@ ChildProcessLauncher::ChildProcessLauncher(
|
| #else
|
| terminate_child_on_shutdown_(terminate_on_shutdown),
|
| #endif
|
| + mojo_child_token_(mojo_child_token),
|
| weak_factory_(this) {
|
| DCHECK(CalledOnValidThread());
|
| CHECK(BrowserThread::GetCurrentThreadIdentifier(&client_thread_id_));
|
| @@ -557,7 +559,8 @@ void ChildProcessLauncher::Notify(ZygoteHandle zygote,
|
| if (process_.IsValid()) {
|
| // Set up Mojo IPC to the new process.
|
| mojo::edk::ChildProcessLaunched(process_.Handle(),
|
| - std::move(mojo_host_platform_handle_));
|
| + std::move(mojo_host_platform_handle_),
|
| + mojo_child_token_);
|
| }
|
|
|
| #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
| @@ -566,6 +569,7 @@ void ChildProcessLauncher::Notify(ZygoteHandle zygote,
|
| if (process_.IsValid()) {
|
| client_->OnProcessLaunched();
|
| } else {
|
| + mojo::edk::ChildProcessLaunchFailed(mojo_child_token_);
|
| termination_status_ = base::TERMINATION_STATUS_LAUNCH_FAILED;
|
| client_->OnProcessLaunchFailed(error_code);
|
| }
|
|
|