Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: ash/root_window_controller.h

Issue 11047030: Decouple EventClientImpl and root window. Check containers on the same root window as focused windo… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix type in event_filter_unittest Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/extended_desktop_unittest.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_ 5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_
6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ 6 #define ASH_ROOT_WINDOW_CONTROLLER_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 11
12 class SkBitmap; 12 class SkBitmap;
13 13
14 namespace aura { 14 namespace aura {
15 class EventFilter; 15 class EventFilter;
16 class RootWindow; 16 class RootWindow;
17 class Window; 17 class Window;
18 namespace shared { 18 namespace shared {
19 class InputMethodEventFilter; 19 class InputMethodEventFilter;
20 class RootWindowEventFilter; 20 class RootWindowEventFilter;
21 } // namespace shared 21 } // namespace shared
22 } // namespace aura 22 } // namespace aura
23 23
24 namespace ash { 24 namespace ash {
25 class ToplevelWindowEventHandler; 25 class ToplevelWindowEventHandler;
26 namespace internal { 26 namespace internal {
27 27
28 class EventClientImpl;
29 class RootWindowLayoutManager; 28 class RootWindowLayoutManager;
30 class ScreenDimmer; 29 class ScreenDimmer;
31 class SystemBackgroundController; 30 class SystemBackgroundController;
32 class SystemModalContainerLayoutManager; 31 class SystemModalContainerLayoutManager;
33 class WorkspaceController; 32 class WorkspaceController;
34 33
35 // This class maintains the per root window state for ash. This class 34 // This class maintains the per root window state for ash. This class
36 // owns the root window and other dependent objects that should be 35 // owns the root window and other dependent objects that should be
37 // deleted upon the deletion of the root window. The RootWindowController 36 // deleted upon the deletion of the root window. The RootWindowController
38 // for particular root window is stored as a property and can be obtained 37 // for particular root window is stored as a property and can be obtained
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 93
95 scoped_ptr<aura::RootWindow> root_window_; 94 scoped_ptr<aura::RootWindow> root_window_;
96 RootWindowLayoutManager* root_window_layout_; 95 RootWindowLayoutManager* root_window_layout_;
97 96
98 // A background layer that's displayed beneath all other layers. Without 97 // A background layer that's displayed beneath all other layers. Without
99 // this, portions of the root window that aren't covered by layers will be 98 // this, portions of the root window that aren't covered by layers will be
100 // painted white; this can show up if e.g. it takes a long time to decode the 99 // painted white; this can show up if e.g. it takes a long time to decode the
101 // desktop background image when displaying the login screen. 100 // desktop background image when displaying the login screen.
102 scoped_ptr<SystemBackgroundController> background_; 101 scoped_ptr<SystemBackgroundController> background_;
103 102
104 // An event filter that pre-handles all key events to send them to an IME.
105 scoped_ptr<EventClientImpl> event_client_;
106 scoped_ptr<ScreenDimmer> screen_dimmer_; 103 scoped_ptr<ScreenDimmer> screen_dimmer_;
107 scoped_ptr<WorkspaceController> workspace_controller_; 104 scoped_ptr<WorkspaceController> workspace_controller_;
108 105
109 // We need to own event handlers for various containers. 106 // We need to own event handlers for various containers.
110 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; 107 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_;
111 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; 108 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_;
112 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; 109 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_;
113 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; 110 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_;
114 111
115 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 112 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
116 }; 113 };
117 114
118 } // namespace internal 115 } // namespace internal
119 } // ash 116 } // ash
120 117
121 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 118 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/extended_desktop_unittest.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698