1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ash/host/root_window_host_factory.h" 6 7#include "ash/ash_switches.h" 8#include "base/command_line.h" 9#include "base/win/windows_version.h" 10#include "ui/aura/remote_root_window_host_win.h" 11#include "ui/aura/root_window_host.h" 12 13namespace { 14 15class RootWindowHostFactoryImpl : public ash::RootWindowHostFactory { 16 public: 17 RootWindowHostFactoryImpl() {} 18 19 // Overridden from RootWindowHostFactory: 20 virtual aura::RootWindowHost* CreateRootWindowHost( 21 const gfx::Rect& initial_bounds) OVERRIDE { 22 if (base::win::GetVersion() >= base::win::VERSION_WIN8 && 23 !CommandLine::ForCurrentProcess()->HasSwitch( 24 ash::switches::kForceAshToDesktop)) 25 return aura::RemoteRootWindowHostWin::Create(initial_bounds); 26 27 return aura::RootWindowHost::Create(initial_bounds); 28 } 29}; 30 31} 32 33namespace ash { 34 35// static 36RootWindowHostFactory* RootWindowHostFactory::Create() { 37 return new RootWindowHostFactoryImpl; 38} 39 40} // namespace ash 41