Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / ash / host / window_tree_host_factory_win.cc
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/window_tree_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_window_tree_host_win.h"
11 #include "ui/aura/window_tree_host.h"
12
13 namespace {
14
15 class WindowTreeHostFactoryImpl : public ash::WindowTreeHostFactory {
16  public:
17   WindowTreeHostFactoryImpl() {}
18
19   // Overridden from WindowTreeHostFactory:
20   virtual aura::WindowTreeHost* CreateWindowTreeHost(
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::RemoteWindowTreeHostWin::Create(initial_bounds);
26
27     return aura::WindowTreeHost::Create(initial_bounds);
28   }
29 };
30
31 }
32
33 namespace ash {
34
35 // static
36 WindowTreeHostFactory* WindowTreeHostFactory::Create() {
37   return new WindowTreeHostFactoryImpl;
38 }
39
40 }  // namespace ash