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

Unified Diff: services/service_manager/standalone/context.cc

Issue 2576233002: Consolidating the mojo NativeRunner functionality. (Closed)
Patch Set: Merged mojo_runner_host_unittests in service_manager_unittests Created 4 years 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/standalone/context.h ('k') | services/service_manager/tests/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(
« no previous file with comments | « services/service_manager/standalone/context.h ('k') | services/service_manager/tests/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698