OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_MUS_WINDOW_MANAGER_H_ | 5 #ifndef ASH_MUS_WINDOW_MANAGER_H_ |
6 #define ASH_MUS_WINDOW_MANAGER_H_ | 6 #define ASH_MUS_WINDOW_MANAGER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <set> | 11 #include <set> |
12 | 12 |
13 #include "ash/root_window_controller.h" | 13 #include "ash/root_window_controller.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
16 #include "base/observer_list.h" | 16 #include "base/observer_list.h" |
17 #include "services/ui/common/types.h" | 17 #include "services/ui/common/types.h" |
18 #include "services/ui/public/interfaces/display/display_controller.mojom.h" | 18 #include "services/ui/public/interfaces/display/display_controller.mojom.h" |
19 #include "services/ui/public/interfaces/window_manager.mojom.h" | 19 #include "services/ui/public/interfaces/window_manager.mojom.h" |
20 #include "ui/aura/env_observer.h" | |
21 #include "ui/aura/mus/window_manager_delegate.h" | 20 #include "ui/aura/mus/window_manager_delegate.h" |
22 #include "ui/aura/mus/window_tree_client_delegate.h" | 21 #include "ui/aura/mus/window_tree_client_delegate.h" |
23 | 22 |
24 namespace aura { | 23 namespace aura { |
25 namespace client { | 24 namespace client { |
26 class ActivationClient; | 25 class ActivationClient; |
27 } | 26 } |
28 } | 27 } |
29 | 28 |
30 namespace base { | 29 namespace base { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 class WindowManagerObserver; | 61 class WindowManagerObserver; |
63 class WmShellMus; | 62 class WmShellMus; |
64 class WmLookupMus; | 63 class WmLookupMus; |
65 class WmTestHelper; | 64 class WmTestHelper; |
66 | 65 |
67 // WindowManager serves as the WindowManagerDelegate and | 66 // WindowManager serves as the WindowManagerDelegate and |
68 // WindowTreeClientDelegate for mash. WindowManager creates (and owns) | 67 // WindowTreeClientDelegate for mash. WindowManager creates (and owns) |
69 // a RootWindowController per Display. WindowManager takes ownership of | 68 // a RootWindowController per Display. WindowManager takes ownership of |
70 // the WindowTreeClient. | 69 // the WindowTreeClient. |
71 class WindowManager : public aura::WindowManagerDelegate, | 70 class WindowManager : public aura::WindowManagerDelegate, |
72 public aura::WindowTreeClientDelegate, | 71 public aura::WindowTreeClientDelegate { |
73 public aura::EnvObserver { | |
74 public: | 72 public: |
75 explicit WindowManager(service_manager::Connector* connector); | 73 explicit WindowManager(service_manager::Connector* connector); |
76 ~WindowManager() override; | 74 ~WindowManager() override; |
77 | 75 |
78 void Init(std::unique_ptr<aura::WindowTreeClient> window_tree_client, | 76 void Init(std::unique_ptr<aura::WindowTreeClient> window_tree_client, |
79 const scoped_refptr<base::SequencedWorkerPool>& blocking_pool); | 77 const scoped_refptr<base::SequencedWorkerPool>& blocking_pool); |
80 | 78 |
81 WmShellMus* shell() { return shell_.get(); } | 79 WmShellMus* shell() { return shell_.get(); } |
82 | 80 |
83 ScreenMus* screen() { return screen_.get(); } | 81 ScreenMus* screen() { return screen_.get(); } |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 const gfx::Point& cursor_location, | 175 const gfx::Point& cursor_location, |
178 const base::Callback<void(bool)>& on_done) override; | 176 const base::Callback<void(bool)>& on_done) override; |
179 void OnWmCancelMoveLoop(aura::Window* window) override; | 177 void OnWmCancelMoveLoop(aura::Window* window) override; |
180 ui::mojom::EventResult OnAccelerator(uint32_t id, | 178 ui::mojom::EventResult OnAccelerator(uint32_t id, |
181 const ui::Event& event) override; | 179 const ui::Event& event) override; |
182 void OnWmSetClientArea( | 180 void OnWmSetClientArea( |
183 aura::Window* window, | 181 aura::Window* window, |
184 const gfx::Insets& insets, | 182 const gfx::Insets& insets, |
185 const std::vector<gfx::Rect>& additional_client_areas) override; | 183 const std::vector<gfx::Rect>& additional_client_areas) override; |
186 | 184 |
187 // aura::EnvObserver: | |
188 void OnWindowInitialized(aura::Window* window) override; | |
189 | |
190 service_manager::Connector* connector_; | 185 service_manager::Connector* connector_; |
191 display::mojom::DisplayControllerPtr display_controller_; | 186 display::mojom::DisplayControllerPtr display_controller_; |
192 | 187 |
193 std::unique_ptr<::wm::FocusController> focus_controller_; | 188 std::unique_ptr<::wm::FocusController> focus_controller_; |
194 std::unique_ptr<::wm::WMState> wm_state_; | 189 std::unique_ptr<::wm::WMState> wm_state_; |
195 std::unique_ptr<aura::PropertyConverter> property_converter_; | 190 std::unique_ptr<aura::PropertyConverter> property_converter_; |
196 | 191 |
197 std::unique_ptr<aura::WindowTreeClient> window_tree_client_; | 192 std::unique_ptr<aura::WindowTreeClient> window_tree_client_; |
198 | 193 |
199 aura::WindowManagerClient* window_manager_client_ = nullptr; | 194 aura::WindowManagerClient* window_manager_client_ = nullptr; |
(...skipping 20 matching lines...) Expand all Loading... |
220 | 215 |
221 std::unique_ptr<ScreenPositionController> screen_position_controller_; | 216 std::unique_ptr<ScreenPositionController> screen_position_controller_; |
222 | 217 |
223 DISALLOW_COPY_AND_ASSIGN(WindowManager); | 218 DISALLOW_COPY_AND_ASSIGN(WindowManager); |
224 }; | 219 }; |
225 | 220 |
226 } // namespace mus | 221 } // namespace mus |
227 } // namespace ash | 222 } // namespace ash |
228 | 223 |
229 #endif // ASH_MUS_WINDOW_MANAGER_H_ | 224 #endif // ASH_MUS_WINDOW_MANAGER_H_ |
OLD | NEW |