| Index: content/browser/browser_main_loop.cc
|
| diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
|
| index b53236dd828b8a7eaeffe2e4de7ee55406f8a46b..a7408c8345ef0b8bc213d74ee9fb5a8775ee11ca 100644
|
| --- a/content/browser/browser_main_loop.cc
|
| +++ b/content/browser/browser_main_loop.cc
|
| @@ -1105,7 +1105,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();
|
| @@ -1159,6 +1159,10 @@ int BrowserMainLoop::BrowserThreadsStarted() {
|
| BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::IO)
|
| ->task_runner()));
|
|
|
| + if (shell::ShellIsRemote()) {
|
| + base::CommandLine::ForCurrentProcess()->AppendSwitch(
|
| + switches::kIsRunningInMojoShell);
|
| + }
|
| mojo_shell_context_.reset(new MojoShellContext);
|
| if (shell::ShellIsRemote()) {
|
| #if defined(MOJO_SHELL_CLIENT) && defined(USE_AURA)
|
| @@ -1199,7 +1203,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);
|
| @@ -1302,9 +1307,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(
|
|
|