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

Unified Diff: services/service_manager/tests/util.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
« no previous file with comments | « services/service_manager/tests/service_manager/service_manager_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/service_manager/tests/util.cc
diff --git a/services/service_manager/tests/util.cc b/services/service_manager/tests/util.cc
index 98bc47dee6d3b780c4d22c8fd8ca5ba0be046b64..b12f6dbf8cc277335e35d9d7d3d9f5d336bbb98a 100644
--- a/services/service_manager/tests/util.cc
+++ b/services/service_manager/tests/util.cc
@@ -58,16 +58,11 @@ std::unique_ptr<Connection> LaunchAndConnectToProcess(
platform_channel_pair.PrepareToPassClientHandleToChildProcess(
&child_command_line, &handle_passing_info);
- // Generate a token for the child to find and connect to a primordial pipe
- // and pass that as well.
- std::string primordial_pipe_token = mojo::edk::GenerateRandomToken();
- child_command_line.AppendSwitchASCII(switches::kPrimordialPipeToken,
- primordial_pipe_token);
-
- // Allocate the pipe locally.
- std::string child_token = mojo::edk::GenerateRandomToken();
+ mojo::edk::PendingProcessConnection pending_process;
+ std::string token;
mojo::ScopedMessagePipeHandle pipe =
- mojo::edk::CreateParentMessagePipe(primordial_pipe_token, child_token);
+ pending_process.CreateMessagePipe(&token);
+ child_command_line.AppendSwitchASCII(switches::kPrimordialPipeToken, token);
service_manager::mojom::ServicePtr client;
client.Bind(mojo::InterfacePtrInfo<service_manager::mojom::Service>(
@@ -94,9 +89,8 @@ std::unique_ptr<Connection> LaunchAndConnectToProcess(
*process = base::LaunchProcess(child_command_line, options);
DCHECK(process->IsValid());
receiver->SetPID(process->Pid());
- mojo::edk::ChildProcessLaunched(process->Handle(),
- platform_channel_pair.PassServerHandle(),
- child_token);
+ pending_process.Connect(process->Handle(),
+ platform_channel_pair.PassServerHandle());
return connection;
}
« no previous file with comments | « services/service_manager/tests/service_manager/service_manager_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698