1// Copyright 2014 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#ifndef CONTENT_SHELL_BROWSER_SHELL_PLATFORM_DATA_AURA_H_
6#define CONTENT_SHELL_BROWSER_SHELL_PLATFORM_DATA_AURA_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "ui/aura/window_tree_host.h"
10
11namespace aura {
12namespace client {
13class DefaultCaptureClient;
14class FocusClient;
15class WindowTreeClient;
16}
17}
18
19namespace gfx {
20class Size;
21}
22
23namespace ui {
24class EventHandler;
25}
26
27namespace content {
28
29class ShellPlatformDataAura {
30 public:
31  explicit ShellPlatformDataAura(const gfx::Size& initial_size);
32  ~ShellPlatformDataAura();
33
34  void ShowWindow();
35  void ResizeWindow(const gfx::Size& size);
36
37  aura::WindowTreeHost* host() { return host_.get(); }
38
39 private:
40  scoped_ptr<aura::WindowTreeHost> host_;
41  scoped_ptr<aura::client::FocusClient> focus_client_;
42  scoped_ptr<aura::client::DefaultCaptureClient> capture_client_;
43  scoped_ptr<aura::client::WindowTreeClient> window_tree_client_;
44  scoped_ptr<ui::EventHandler> ime_filter_;
45
46  DISALLOW_COPY_AND_ASSIGN(ShellPlatformDataAura);
47};
48
49}  // namespace content
50
51#endif  // CONTENT_SHELL_BROWSER_SHELL_PLATFORM_DATA_AURA_H_
52