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

Unified Diff: content/browser/browser_main_loop.cc

Issue 2096843002: mus+ash: Enable Chrome HW rendering in mus+ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Created 4 years, 5 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: content/browser/browser_main_loop.cc
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 73ea7767ba632f9c0822e45f6775936abbcc2c75..d22e985920c3ba2eb38c088d78299882df1a4d42 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -1111,7 +1111,7 @@ void BrowserMainLoop::ShutdownThreadsAndCleanUp() {
}
// Must happen after the IO thread is shutdown since this may be accessed from
// it.
- {
+ if (!shell::ShellIsRemote()) {
TRACE_EVENT0("shutdown", "BrowserMainLoop::Subsystem:GPUChannelFactory");
if (BrowserGpuChannelHostFactory::instance())
BrowserGpuChannelHostFactory::Terminate();
@@ -1175,6 +1175,8 @@ int BrowserMainLoop::BrowserThreadsStarted() {
mojo_shell_context_.reset(new MojoShellContext);
if (shell::ShellIsRemote()) {
#if defined(MOJO_SHELL_CLIENT) && defined(USE_AURA)
+ base::CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kIsRunningInMash);
// TODO(rockot): Remove the blocking wait for init.
// http://crbug.com/594852.
auto connection = MojoShellConnection::GetForProcess();
@@ -1215,7 +1217,8 @@ int BrowserMainLoop::BrowserThreadsStarted() {
#elif defined(USE_AURA) || defined(OS_MACOSX)
established_gpu_channel = true;
if (!GpuDataManagerImpl::GetInstance()->CanUseGpuBrowserCompositor() ||
- parsed_command_line_.HasSwitch(switches::kDisableGpuEarlyInit)) {
+ parsed_command_line_.HasSwitch(switches::kDisableGpuEarlyInit) ||
+ shell::ShellIsRemote()) {
established_gpu_channel = always_uses_gpu = false;
}
BrowserGpuChannelHostFactory::Initialize(established_gpu_channel);
@@ -1322,9 +1325,8 @@ int BrowserMainLoop::BrowserThreadsStarted() {
// since creating the GPU thread races against creation of the one-and-only
// ChildProcess instance which is created by the renderer thread.
if (GpuDataManagerImpl::GetInstance()->GpuAccessAllowed(NULL) &&
- !established_gpu_channel &&
- always_uses_gpu &&
- !UsingInProcessGpu()) {
+ !established_gpu_channel && always_uses_gpu && !UsingInProcessGpu() &&
+ !shell::ShellIsRemote()) {
TRACE_EVENT_INSTANT0("gpu", "Post task to launch GPU process",
TRACE_EVENT_SCOPE_THREAD);
BrowserThread::PostTask(

Powered by Google App Engine
This is Rietveld 408576698