root/ash/host/window_tree_host_factory_win.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. CreateWindowTreeHost
  2. Create

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ash/host/window_tree_host_factory.h"

#include "ash/ash_switches.h"
#include "base/command_line.h"
#include "base/win/windows_version.h"
#include "ui/aura/remote_window_tree_host_win.h"
#include "ui/aura/window_tree_host.h"

namespace {

class WindowTreeHostFactoryImpl : public ash::WindowTreeHostFactory {
 public:
  WindowTreeHostFactoryImpl() {}

  // Overridden from WindowTreeHostFactory:
  virtual aura::WindowTreeHost* CreateWindowTreeHost(
      const gfx::Rect& initial_bounds) OVERRIDE {
    if (base::win::GetVersion() >= base::win::VERSION_WIN8 &&
        !CommandLine::ForCurrentProcess()->HasSwitch(
            ash::switches::kForceAshToDesktop))
      return aura::RemoteWindowTreeHostWin::Create(initial_bounds);

    return aura::WindowTreeHost::Create(initial_bounds);
  }
};

}

namespace ash {

// static
WindowTreeHostFactory* WindowTreeHostFactory::Create() {
  return new WindowTreeHostFactoryImpl;
}

}  // namespace ash

/* [<][>][^][v][top][bottom][index][help] */