| Index: services/service_manager/standalone/context.cc
|
| diff --git a/services/service_manager/standalone/context.cc b/services/service_manager/standalone/context.cc
|
| index 9800159d963ba8b7eae46fdc4c60ba18422ac409..85880af896bb5e0e8e33b50a3e1d1d8999134416 100644
|
| --- a/services/service_manager/standalone/context.cc
|
| +++ b/services/service_manager/standalone/context.cc
|
| @@ -38,7 +38,7 @@
|
| #include "services/service_manager/connect_params.h"
|
| #include "services/service_manager/connect_util.h"
|
| #include "services/service_manager/runner/common/switches.h"
|
| -#include "services/service_manager/runner/host/out_of_process_native_runner.h"
|
| +#include "services/service_manager/runner/host/service_process_launcher.h"
|
| #include "services/service_manager/standalone/tracer.h"
|
| #include "services/service_manager/switches.h"
|
| #include "services/tracing/public/cpp/provider.h"
|
| @@ -73,6 +73,25 @@ class Setup {
|
| DISALLOW_COPY_AND_ASSIGN(Setup);
|
| };
|
|
|
| +class ServiceProcessLauncherFactoryImpl : public ServiceProcessLauncherFactory {
|
| + public:
|
| + ServiceProcessLauncherFactoryImpl(base::TaskRunner* launch_process_runner,
|
| + ServiceProcessLauncher::Delegate* delegate)
|
| + : launch_process_runner_(launch_process_runner),
|
| + delegate_(delegate) {
|
| + }
|
| +
|
| + private:
|
| + std::unique_ptr<ServiceProcessLauncher> Create(
|
| + const base::FilePath& service_path) override {
|
| + return base::MakeUnique<ServiceProcessLauncher>(
|
| + launch_process_runner_, delegate_, service_path);
|
| + }
|
| +
|
| + base::TaskRunner* launch_process_runner_;
|
| + ServiceProcessLauncher::Delegate* delegate_;
|
| +};
|
| +
|
| std::unique_ptr<base::Thread> CreateIOThread(const char* name) {
|
| std::unique_ptr<base::Thread> thread(new base::Thread(name));
|
| base::Thread::Options options;
|
| @@ -136,17 +155,20 @@ void Context::Init(std::unique_ptr<InitParams> init_params) {
|
| #endif
|
| }
|
|
|
| - std::unique_ptr<NativeRunnerFactory> runner_factory =
|
| - base::MakeUnique<OutOfProcessNativeRunnerFactory>(
|
| + std::unique_ptr<ServiceProcessLauncherFactory>
|
| + service_process_launcher_factory =
|
| + base::MakeUnique<ServiceProcessLauncherFactoryImpl>(
|
| blocking_pool_.get(),
|
| - init_params ? init_params->native_runner_delegate : nullptr);
|
| + init_params ? init_params->service_process_launcher_delegate
|
| + : nullptr);
|
| std::unique_ptr<catalog::Store> store;
|
| if (init_params)
|
| store = std::move(init_params->catalog_store);
|
| catalog_.reset(
|
| new catalog::Catalog(blocking_pool_.get(), std::move(store), nullptr));
|
| - service_manager_.reset(new ServiceManager(std::move(runner_factory),
|
| - catalog_->TakeService()));
|
| + service_manager_.reset(
|
| + new ServiceManager(std::move(service_process_launcher_factory),
|
| + catalog_->TakeService()));
|
|
|
| if (command_line.HasSwitch(::switches::kServiceOverrides)) {
|
| base::FilePath overrides_file(GetPathFromCommandLineSwitch(
|
|
|