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