Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / content / shell / browser / shell_platform_data_aura.h
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
11 namespace aura {
12 namespace client {
13 class DefaultCaptureClient;
14 class FocusClient;
15 class WindowTreeClient;
16 }
17 }
18
19 namespace gfx {
20 class Size;
21 }
22
23 namespace ui {
24 class EventHandler;
25 }
26
27 namespace content {
28
29 class 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_