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

Unified Diff: chrome/browser/chrome_content_browser_client.cc

Issue 2916823002: Move Mus into chrome's process when running with --mus.
Patch Set: Undo Screen TLS change, don't use Screen::GetScreen() in Mus. Created 3 years, 6 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
Index: chrome/browser/chrome_content_browser_client.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 1c680d221196c1a0001dfb77db43b509b17be272..b9be582d66b30ca840418b05e8086c7bc9b605ab 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -258,6 +258,9 @@
#include "components/user_manager/user_manager.h"
#include "mash/public/interfaces/launchable.mojom.h"
#include "services/service_manager/public/interfaces/interface_provider_spec.mojom.h"
+#include "services/ui/public/interfaces/constants.mojom.h"
+#include "services/ui/service.h"
+#include "ui/base/cursor/image_cursors.h"
#elif defined(OS_LINUX)
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
@@ -858,6 +861,14 @@ WebContents* GetWebContents(int render_process_id, int render_frame_id) {
return WebContents::FromRenderFrameHost(rfh);
}
+#if defined(OS_CHROMEOS)
+std::unique_ptr<service_manager::Service> CreateEmbeddedUIService(
+ const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
+ base::WeakPtr<ui::ImageCursors> image_cursors_weak_ptr) {
+ return base::MakeUnique<ui::Service>(task_runner, image_cursors_weak_ptr);
+}
+#endif // defined(OS_CHROMEOS)
+
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Returns true if there is is an extension with the same origin as
// |source_origin| in |opener_render_process_id| with
@@ -3030,11 +3041,22 @@ void ChromeContentBrowserClient::RegisterInProcessServices(
}
if (!ash_util::IsRunningInMash()) {
- content::ServiceInfo info;
- info.factory = base::Bind(&ash_util::CreateEmbeddedAshService,
- base::ThreadTaskRunnerHandle::Get());
- info.task_runner = base::ThreadTaskRunnerHandle::Get();
- services->insert(std::make_pair(ash::mojom::kServiceName, info));
+ content::ServiceInfo info_ash;
+ info_ash.factory = base::Bind(&ash_util::CreateEmbeddedAshService,
+ base::ThreadTaskRunnerHandle::Get());
+ info_ash.task_runner = base::ThreadTaskRunnerHandle::Get();
+ services->insert(std::make_pair(ash::mojom::kServiceName, info_ash));
+
+ if (!image_cursors_)
sky 2017/06/27 19:58:56 Is this conditional necessary? We're starting to
mfomitchev 2017/07/11 21:46:59 Done. Moved a bunch of code into browser_process_p
+ image_cursors_ = base::MakeUnique<ui::ImageCursors>();
+ content::ServiceInfo info_ui;
+ info_ui.factory = base::Bind(&CreateEmbeddedUIService,
+ base::ThreadTaskRunnerHandle::Get(),
+ image_cursors_->GetWeakPtr());
+ info_ui.use_own_thread = true;
+ info_ui.message_loop_type = base::MessageLoop::TYPE_UI;
+ info_ui.thread_priority = base::ThreadPriority::DISPLAY;
+ services->insert(std::make_pair(ui::mojom::kServiceName, info_ui));
}
#endif // OS_CHROMEOS
}

Powered by Google App Engine
This is Rietveld 408576698