OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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_CONNECTION_MANAGER_H_ | 5 #ifndef COMPONENTS_MUS_WS_CONNECTION_MANAGER_H_ |
6 #define COMPONENTS_MUS_WS_CONNECTION_MANAGER_H_ | 6 #define COMPONENTS_MUS_WS_CONNECTION_MANAGER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 // WindowManagerChangeCompleted() is called to obtain the original source | 130 // WindowManagerChangeCompleted() is called to obtain the original source |
131 // and client supplied change_id that initiated the called. | 131 // and client supplied change_id that initiated the called. |
132 uint32_t GenerateWindowManagerChangeId(WindowTreeImpl* source, | 132 uint32_t GenerateWindowManagerChangeId(WindowTreeImpl* source, |
133 uint32_t client_change_id); | 133 uint32_t client_change_id); |
134 | 134 |
135 // Called when a response from the window manager is obtained. Calls to | 135 // Called when a response from the window manager is obtained. Calls to |
136 // the client that initiated the change with the change id originally | 136 // the client that initiated the change with the change id originally |
137 // supplied by the client. | 137 // supplied by the client. |
138 void WindowManagerChangeCompleted(uint32_t window_manager_change_id, | 138 void WindowManagerChangeCompleted(uint32_t window_manager_change_id, |
139 bool success); | 139 bool success); |
| 140 void WindowManagerCreatedTopLevelWindow(WindowTreeImpl* wm_connection, |
| 141 uint32_t window_manager_change_id, |
| 142 Id transport_window_id); |
140 | 143 |
141 // These functions trivially delegate to all WindowTreeImpls, which in | 144 // These functions trivially delegate to all WindowTreeImpls, which in |
142 // term notify their clients. | 145 // term notify their clients. |
143 void ProcessWindowDestroyed(ServerWindow* window); | 146 void ProcessWindowDestroyed(ServerWindow* window); |
144 void ProcessWindowBoundsChanged(const ServerWindow* window, | 147 void ProcessWindowBoundsChanged(const ServerWindow* window, |
145 const gfx::Rect& old_bounds, | 148 const gfx::Rect& old_bounds, |
146 const gfx::Rect& new_bounds); | 149 const gfx::Rect& new_bounds); |
147 void ProcessClientAreaChanged( | 150 void ProcessClientAreaChanged( |
148 const ServerWindow* window, | 151 const ServerWindow* window, |
149 const gfx::Insets& new_client_area, | 152 const gfx::Insets& new_client_area, |
(...skipping 29 matching lines...) Expand all Loading... |
179 uint32_t client_change_id; | 182 uint32_t client_change_id; |
180 }; | 183 }; |
181 | 184 |
182 using InFlightWindowManagerChangeMap = | 185 using InFlightWindowManagerChangeMap = |
183 std::map<uint32_t, InFlightWindowManagerChange>; | 186 std::map<uint32_t, InFlightWindowManagerChange>; |
184 | 187 |
185 bool GetAndClearInFlightWindowManagerChange( | 188 bool GetAndClearInFlightWindowManagerChange( |
186 uint32_t window_manager_change_id, | 189 uint32_t window_manager_change_id, |
187 InFlightWindowManagerChange* change); | 190 InFlightWindowManagerChange* change); |
188 | 191 |
| 192 // Called when we get an unexpected message from the WindowManager. |
| 193 // TODO(sky): decide what we want to do here. |
| 194 void WindowManagerSentBogusMessage(WindowTreeImpl* connection) {} |
| 195 |
189 // Invoked when a connection is about to execute a window server operation. | 196 // Invoked when a connection is about to execute a window server operation. |
190 // Subsequently followed by FinishOperation() once the change is done. | 197 // Subsequently followed by FinishOperation() once the change is done. |
191 // | 198 // |
192 // Changes should never nest, meaning each PrepareForOperation() must be | 199 // Changes should never nest, meaning each PrepareForOperation() must be |
193 // balanced with a call to FinishOperation() with no PrepareForOperation() | 200 // balanced with a call to FinishOperation() with no PrepareForOperation() |
194 // in between. | 201 // in between. |
195 void PrepareForOperation(Operation* op); | 202 void PrepareForOperation(Operation* op); |
196 | 203 |
197 // Balances a call to PrepareForOperation(). | 204 // Balances a call to PrepareForOperation(). |
198 void FinishOperation(); | 205 void FinishOperation(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 // Next id supplied to the window manager. | 284 // Next id supplied to the window manager. |
278 uint32_t next_wm_change_id_; | 285 uint32_t next_wm_change_id_; |
279 | 286 |
280 DISALLOW_COPY_AND_ASSIGN(ConnectionManager); | 287 DISALLOW_COPY_AND_ASSIGN(ConnectionManager); |
281 }; | 288 }; |
282 | 289 |
283 } // namespace ws | 290 } // namespace ws |
284 } // namespace mus | 291 } // namespace mus |
285 | 292 |
286 #endif // COMPONENTS_MUS_WS_CONNECTION_MANAGER_H_ | 293 #endif // COMPONENTS_MUS_WS_CONNECTION_MANAGER_H_ |
OLD | NEW |