Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Unified Diff: services/service_manager/runner/host/service_process_launcher.cc

Issue 2680973006: Mojo EDK: Add safe process connection API (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/service_manager/runner/host/service_process_launcher.cc
diff --git a/services/service_manager/runner/host/service_process_launcher.cc b/services/service_manager/runner/host/service_process_launcher.cc
index 4bc8a07f529741bec2613ca95acc4d735fd3c802..759df0064814165287a42b46f70b62aec30cc127 100644
--- a/services/service_manager/runner/host/service_process_launcher.cc
+++ b/services/service_manager/runner/host/service_process_launcher.cc
@@ -47,7 +47,6 @@ ServiceProcessLauncher::ServiceProcessLauncher(
delegate_(delegate),
start_sandboxed_(false),
service_path_(service_path),
- child_token_(mojo::edk::GenerateRandomToken()),
start_child_process_event_(
base::WaitableEvent::ResetPolicy::AUTOMATIC,
base::WaitableEvent::InitialState::NOT_SIGNALED),
@@ -90,8 +89,8 @@ mojom::ServicePtr ServiceProcessLauncher::Start(
mojo_ipc_channel_->PrepareToPassClientHandleToChildProcess(
child_command_line.get(), &handle_passing_info_);
- mojom::ServicePtr client =
- PassServiceRequestOnCommandLine(child_command_line.get(), child_token_);
+ mojom::ServicePtr client = PassServiceRequestOnCommandLine(
+ &process_connection_, child_command_line.get());
launch_process_runner_->PostTaskAndReply(
FROM_HERE,
base::Bind(&ServiceProcessLauncher::DoLaunch, base::Unretained(this),
@@ -197,11 +196,8 @@ void ServiceProcessLauncher::DoLaunch(
if (mojo_ipc_channel_.get()) {
mojo_ipc_channel_->ChildProcessLaunched();
- mojo::edk::ChildProcessLaunched(
- child_process_.Handle(),
- mojo::edk::ScopedPlatformHandle(mojo::edk::PlatformHandle(
- mojo_ipc_channel_->PassServerHandle().release().handle)),
- child_token_);
+ process_connection_.Connect(child_process_.Handle(),
+ mojo_ipc_channel_->PassServerHandle());
}
}
start_child_process_event_.Signal();

Powered by Google App Engine
This is Rietveld 408576698