OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ | 5 #ifndef COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ |
6 #define COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ | 6 #define COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
13 #include "base/timer/timer.h" | 13 #include "base/timer/timer.h" |
14 #include "components/mus/public/interfaces/display.mojom.h" | 14 #include "components/mus/public/interfaces/display.mojom.h" |
15 #include "components/mus/ws/event_dispatcher.h" | 15 #include "components/mus/ws/event_dispatcher.h" |
16 #include "components/mus/ws/event_dispatcher_delegate.h" | 16 #include "components/mus/ws/event_dispatcher_delegate.h" |
17 #include "components/mus/ws/user_id.h" | 17 #include "components/mus/ws/user_id.h" |
18 #include "components/mus/ws/window_server.h" | 18 #include "components/mus/ws/window_server.h" |
19 | 19 |
20 namespace cc { | |
21 struct SurfaceId; | |
22 } | |
23 | |
24 namespace mus { | 20 namespace mus { |
25 namespace ws { | 21 namespace ws { |
26 | 22 |
27 class Accelerator; | 23 class Accelerator; |
28 class Display; | 24 class Display; |
29 class PlatformDisplay; | 25 class PlatformDisplay; |
30 class ServerWindow; | 26 class ServerWindow; |
31 class WindowTree; | 27 class WindowTree; |
32 | 28 |
33 namespace test { | 29 namespace test { |
34 class WindowManagerStateTestApi; | 30 class WindowManagerStateTestApi; |
35 } | 31 } |
36 | 32 |
37 // Manages the state associated with a connection to a WindowManager for | 33 // Manages the state associated with a connection to a WindowManager for |
38 // a specific user. | 34 // a specific user. |
39 class WindowManagerState : public EventDispatcherDelegate { | 35 class WindowManagerState : public EventDispatcherDelegate { |
40 public: | 36 public: |
41 // Creates a WindowManagerState that can host content from any user. | 37 // Creates a WindowManagerState that can host content from any user. |
| 38 WindowManagerState(Display* display, PlatformDisplay* platform_display); |
42 WindowManagerState(Display* display, | 39 WindowManagerState(Display* display, |
43 PlatformDisplay* platform_display, | 40 PlatformDisplay* platform_display, |
44 cc::SurfaceId surface_id); | |
45 WindowManagerState(Display* display, | |
46 PlatformDisplay* platform_display, | |
47 cc::SurfaceId surface_id, | |
48 const UserId& user_id); | 41 const UserId& user_id); |
49 ~WindowManagerState() override; | 42 ~WindowManagerState() override; |
50 | 43 |
51 bool is_user_id_valid() const { return is_user_id_valid_; } | 44 bool is_user_id_valid() const { return is_user_id_valid_; } |
52 | 45 |
53 const UserId& user_id() const { return user_id_; } | 46 const UserId& user_id() const { return user_id_; } |
54 | 47 |
55 ServerWindow* root() { return root_.get(); } | 48 ServerWindow* root() { return root_.get(); } |
56 const ServerWindow* root() const { return root_.get(); } | 49 const ServerWindow* root() const { return root_.get(); } |
57 | 50 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 struct QueuedEvent { | 113 struct QueuedEvent { |
121 QueuedEvent(); | 114 QueuedEvent(); |
122 ~QueuedEvent(); | 115 ~QueuedEvent(); |
123 | 116 |
124 std::unique_ptr<ui::Event> event; | 117 std::unique_ptr<ui::Event> event; |
125 std::unique_ptr<ProcessedEventTarget> processed_target; | 118 std::unique_ptr<ProcessedEventTarget> processed_target; |
126 }; | 119 }; |
127 | 120 |
128 WindowManagerState(Display* display, | 121 WindowManagerState(Display* display, |
129 PlatformDisplay* platform_display, | 122 PlatformDisplay* platform_display, |
130 cc::SurfaceId surface_id, | |
131 bool is_user_id_valid, | 123 bool is_user_id_valid, |
132 const UserId& user_id); | 124 const UserId& user_id); |
133 | 125 |
134 WindowServer* window_server(); | 126 WindowServer* window_server(); |
135 | 127 |
136 void OnEventAckTimeout(); | 128 void OnEventAckTimeout(); |
137 | 129 |
138 // Schedules an event to be processed later. | 130 // Schedules an event to be processed later. |
139 void QueueEvent(const ui::Event& event, | 131 void QueueEvent(const ui::Event& event, |
140 std::unique_ptr<ProcessedEventTarget> processed_event_target); | 132 std::unique_ptr<ProcessedEventTarget> processed_event_target); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 | 186 |
195 EventDispatcher event_dispatcher_; | 187 EventDispatcher event_dispatcher_; |
196 | 188 |
197 DISALLOW_COPY_AND_ASSIGN(WindowManagerState); | 189 DISALLOW_COPY_AND_ASSIGN(WindowManagerState); |
198 }; | 190 }; |
199 | 191 |
200 } // namespace ws | 192 } // namespace ws |
201 } // namespace mus | 193 } // namespace mus |
202 | 194 |
203 #endif // COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ | 195 #endif // COMPONENTS_MUS_WS_WINDOW_MANAGER_STATE_H_ |
OLD | NEW |