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

Unified Diff: chrome/app/mash/mash_runner.cc

Issue 2295433003: Changes around how browser_tests are launched for mash (Closed)
Patch Set: make manifest chromeos specific Created 4 years, 4 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 | « chrome/app/mash/BUILD.gn ('k') | chrome/test/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/app/mash/mash_runner.cc
diff --git a/chrome/app/mash/mash_runner.cc b/chrome/app/mash/mash_runner.cc
index 9787b9b16ef9a0c2c966ce75f3d7d80dede39db5..84b9cda5901f3fed6aa4caa12545bad64d34b469 100644
--- a/chrome/app/mash/mash_runner.cc
+++ b/chrome/app/mash/mash_runner.cc
@@ -4,8 +4,6 @@
#include "chrome/app/mash/mash_runner.h"
-#include "ash/mus/window_manager_application.h"
-#include "ash/touch_hud/mus/touch_hud_application.h"
#include "base/at_exit.h"
#include "base/bind.h"
#include "base/command_line.h"
@@ -19,10 +17,7 @@
#include "components/tracing/common/trace_to_console.h"
#include "components/tracing/common/tracing_switches.h"
#include "content/public/common/content_switches.h"
-#include "mash/app_driver/app_driver.h"
-#include "mash/quick_launch/quick_launch.h"
-#include "mash/session/session.h"
-#include "mash/task_viewer/task_viewer.h"
+#include "mash/package/mash_packaged_service.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "services/shell/background/background_shell.h"
#include "services/shell/native_runner_delegate.h"
@@ -33,11 +28,6 @@
#include "services/shell/public/interfaces/service_factory.mojom.h"
#include "services/shell/runner/common/switches.h"
#include "services/shell/runner/host/child_process_base.h"
-#include "services/ui/service.h"
-
-#if defined(OS_LINUX)
-#include "components/font_service/font_service_app.h"
-#endif
using shell::mojom::ServiceFactory;
@@ -46,75 +36,6 @@ namespace {
// kProcessType used to identify child processes.
const char* kMashChild = "mash-child";
-// Service responsible for starting the appropriate app.
-class DefaultService : public shell::Service,
- public ServiceFactory,
- public shell::InterfaceFactory<ServiceFactory> {
- public:
- DefaultService() {}
- ~DefaultService() override {}
-
- // shell::Service:
- bool OnConnect(const shell::Identity& remote_identity,
- shell::InterfaceRegistry* registry) override {
- registry->AddInterface<ServiceFactory>(this);
- return true;
- }
-
- // shell::InterfaceFactory<ServiceFactory>
- void Create(const shell::Identity& remote_identity,
- mojo::InterfaceRequest<ServiceFactory> request) override {
- service_factory_bindings_.AddBinding(this, std::move(request));
- }
-
- // ServiceFactory:
- void CreateService(shell::mojom::ServiceRequest request,
- const std::string& mojo_name) override {
- if (service_) {
- LOG(ERROR) << "request to create additional service " << mojo_name;
- return;
- }
- service_ = CreateService(mojo_name);
- if (service_) {
- service_->set_context(base::MakeUnique<shell::ServiceContext>(
- service_.get(), std::move(request)));
- return;
- }
- LOG(ERROR) << "unknown name " << mojo_name;
- NOTREACHED();
- }
-
- private:
- // TODO(sky): move this into mash.
- std::unique_ptr<shell::Service> CreateService(
- const std::string& name) {
- if (name == "mojo:ash")
- return base::WrapUnique(new ash::mus::WindowManagerApplication);
- if (name == "mojo:touch_hud")
- return base::WrapUnique(new ash::touch_hud::TouchHudApplication);
- if (name == "mojo:mash_session")
- return base::WrapUnique(new mash::session::Session);
- if (name == "mojo:ui")
- return base::WrapUnique(new ui::Service);
- if (name == "mojo:quick_launch")
- return base::WrapUnique(new mash::quick_launch::QuickLaunch);
- if (name == "mojo:task_viewer")
- return base::WrapUnique(new mash::task_viewer::TaskViewer);
-#if defined(OS_LINUX)
- if (name == "mojo:font_service")
- return base::WrapUnique(new font_service::FontServiceApp);
-#endif
- if (name == "mojo:app_driver")
- return base::WrapUnique(new mash::app_driver::AppDriver);
- return nullptr;
- }
-
- mojo::BindingSet<ServiceFactory> service_factory_bindings_;
- std::unique_ptr<shell::Service> service_;
-
- DISALLOW_COPY_AND_ASSIGN(DefaultService);
-};
-
bool IsChild() {
return base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kProcessType) &&
@@ -188,7 +109,7 @@ void MashRunner::RunMain() {
new shell::BackgroundShell::InitParams);
init_params->native_runner_delegate = &native_runner_delegate;
background_shell.Init(std::move(init_params));
- service_.reset(new DefaultService);
+ service_.reset(new mash::MashPackagedService);
service_->set_context(base::MakeUnique<shell::ServiceContext>(
service_.get(),
background_shell.CreateServiceRequest("exe:chrome_mash")));
@@ -206,7 +127,7 @@ void MashRunner::StartChildApp(
shell::mojom::ServiceRequest service_request) {
// TODO(sky): use MessagePumpMojo.
base::MessageLoop message_loop(base::MessageLoop::TYPE_UI);
- service_.reset(new DefaultService);
+ service_.reset(new mash::MashPackagedService);
service_->set_context(base::MakeUnique<shell::ServiceContext>(
service_.get(), std::move(service_request)));
message_loop.Run();
« no previous file with comments | « chrome/app/mash/BUILD.gn ('k') | chrome/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698