Index: mojo/shell/tests/util.cc |
diff --git a/mojo/shell/tests/util.cc b/mojo/shell/tests/util.cc |
deleted file mode 100644 |
index 8326ebe3ab17682583ec50b303953022851f4bdf..0000000000000000000000000000000000000000 |
--- a/mojo/shell/tests/util.cc |
+++ /dev/null |
@@ -1,101 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "mojo/shell/tests/util.h" |
- |
-#include "base/base_paths.h" |
-#include "base/base_switches.h" |
-#include "base/bind.h" |
-#include "base/command_line.h" |
-#include "base/files/file_path.h" |
-#include "base/macros.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/path_service.h" |
-#include "base/process/process.h" |
-#include "base/run_loop.h" |
-#include "mojo/edk/embedder/embedder.h" |
-#include "mojo/edk/embedder/platform_channel_pair.h" |
-#include "mojo/edk/embedder/scoped_platform_handle.h" |
-#include "mojo/shell/public/cpp/connection.h" |
-#include "mojo/shell/public/cpp/connector.h" |
-#include "mojo/shell/public/interfaces/connector.mojom.h" |
-#include "mojo/shell/public/interfaces/shell_client_factory.mojom.h" |
-#include "mojo/shell/runner/common/switches.h" |
- |
-namespace mojo { |
-namespace shell { |
-namespace test { |
-namespace { |
-void QuitLoop(base::RunLoop* loop) { |
- loop->Quit(); |
-} |
-} // namespace |
- |
-scoped_ptr<Connection> LaunchAndConnectToProcess( |
- const std::string& target_exe_name, |
- const Identity target, |
- mojo::Connector* connector, |
- base::Process* process) { |
- base::FilePath target_path; |
- CHECK(base::PathService::Get(base::DIR_EXE, &target_path)); |
- target_path = target_path.AppendASCII(target_exe_name); |
- |
- base::CommandLine child_command_line(target_path); |
- // Forward the wait-for-debugger flag but nothing else - we don't want to |
- // stamp on the platform-channel flag. |
- if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kWaitForDebugger)) { |
- child_command_line.AppendSwitch(switches::kWaitForDebugger); |
- } |
- |
- // Create the channel to be shared with the target process. Pass one end |
- // on the command line. |
- mojo::edk::PlatformChannelPair platform_channel_pair; |
- mojo::edk::HandlePassingInformation handle_passing_info; |
- 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. |
- mojo::ScopedMessagePipeHandle pipe = |
- mojo::edk::CreateParentMessagePipe(primordial_pipe_token); |
- |
- mojo::shell::mojom::ShellClientPtr client; |
- client.Bind(mojo::InterfacePtrInfo<mojo::shell::mojom::ShellClient>( |
- std::move(pipe), 0u)); |
- mojo::shell::mojom::PIDReceiverPtr receiver; |
- |
- mojo::Connector::ConnectParams params(target); |
- params.set_client_process_connection(std::move(client), GetProxy(&receiver)); |
- scoped_ptr<mojo::Connection> connection = connector->Connect(¶ms); |
- { |
- base::RunLoop loop; |
- connection->AddConnectionCompletedClosure(base::Bind(&QuitLoop, &loop)); |
- base::MessageLoop::ScopedNestableTaskAllower allow( |
- base::MessageLoop::current()); |
- loop.Run(); |
- } |
- |
- base::LaunchOptions options; |
-#if defined(OS_WIN) |
- options.handles_to_inherit = &handle_passing_info; |
-#elif defined(OS_POSIX) |
- options.fds_to_remap = &handle_passing_info; |
-#endif |
- *process = base::LaunchProcess(child_command_line, options); |
- DCHECK(process->IsValid()); |
- receiver->SetPID(process->Pid()); |
- mojo::edk::ChildProcessLaunched(process->Handle(), |
- platform_channel_pair.PassServerHandle()); |
- return connection; |
-} |
- |
-} // namespace test |
-} // namespace shell |
-} // namespace mojo |