| 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 SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 5 #ifndef SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
| 6 #define SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 6 #define SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 uint32_t flags, | 126 uint32_t flags, |
| 127 const mojom::WindowTree::EmbedCallback& callback); | 127 const mojom::WindowTree::EmbedCallback& callback); |
| 128 | 128 |
| 129 void RequestClose(Window* window); | 129 void RequestClose(Window* window); |
| 130 | 130 |
| 131 void AttachSurface(Id window_id, | 131 void AttachSurface(Id window_id, |
| 132 mojom::SurfaceType type, | 132 mojom::SurfaceType type, |
| 133 mojo::InterfaceRequest<mojom::Surface> surface, | 133 mojo::InterfaceRequest<mojom::Surface> surface, |
| 134 mojom::SurfaceClientPtr client); | 134 mojom::SurfaceClientPtr client); |
| 135 | 135 |
| 136 void SatisfySurfaceSequence(Id window_id, |
| 137 const cc::SurfaceSequence& sequence); |
| 138 |
| 136 // Sets the input capture to |window| without notifying the server. | 139 // Sets the input capture to |window| without notifying the server. |
| 137 void LocalSetCapture(Window* window); | 140 void LocalSetCapture(Window* window); |
| 138 // Sets focus to |window| without notifying the server. | 141 // Sets focus to |window| without notifying the server. |
| 139 void LocalSetFocus(Window* window); | 142 void LocalSetFocus(Window* window); |
| 140 | 143 |
| 141 // Start/stop tracking windows. While tracked, they can be retrieved via | 144 // Start/stop tracking windows. While tracked, they can be retrieved via |
| 142 // WindowTreeClient::GetWindowById. | 145 // WindowTreeClient::GetWindowById. |
| 143 void AddWindow(Window* window); | 146 void AddWindow(Window* window); |
| 144 | 147 |
| 145 bool IsRoot(Window* window) const { return roots_.count(window) > 0; } | 148 bool IsRoot(Window* window) const { return roots_.count(window) > 0; } |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 ui::mojom::MoveLoopSource source, | 198 ui::mojom::MoveLoopSource source, |
| 196 const gfx::Point& cursor_location, | 199 const gfx::Point& cursor_location, |
| 197 const base::Callback<void(bool)>& callback); | 200 const base::Callback<void(bool)>& callback); |
| 198 | 201 |
| 199 // Cancels a in progress window move. (If no window is currently being moved, | 202 // Cancels a in progress window move. (If no window is currently being moved, |
| 200 // does nothing.) | 203 // does nothing.) |
| 201 void CancelWindowMove(Window* window); | 204 void CancelWindowMove(Window* window); |
| 202 | 205 |
| 203 // Creates and returns a new Window (which is owned by the window server). | 206 // Creates and returns a new Window (which is owned by the window server). |
| 204 // Windows are initially hidden, use SetVisible(true) to show. | 207 // Windows are initially hidden, use SetVisible(true) to show. |
| 208 Window* NewWindowContainer() { |
| 209 return NewWindow(nullptr, true /* container */); |
| 210 } |
| 205 Window* NewWindow() { return NewWindow(nullptr); } | 211 Window* NewWindow() { return NewWindow(nullptr); } |
| 206 Window* NewWindow( | 212 Window* NewWindow( |
| 207 const std::map<std::string, std::vector<uint8_t>>* properties); | 213 const std::map<std::string, std::vector<uint8_t>>* properties, |
| 214 bool container = false); |
| 208 Window* NewTopLevelWindow( | 215 Window* NewTopLevelWindow( |
| 209 const std::map<std::string, std::vector<uint8_t>>* properties); | 216 const std::map<std::string, std::vector<uint8_t>>* properties); |
| 210 | 217 |
| 211 void AddObserver(WindowTreeClientObserver* observer); | 218 void AddObserver(WindowTreeClientObserver* observer); |
| 212 void RemoveObserver(WindowTreeClientObserver* observer); | 219 void RemoveObserver(WindowTreeClientObserver* observer); |
| 213 | 220 |
| 214 #if !defined(NDEBUG) | 221 #if !defined(NDEBUG) |
| 215 std::string GetDebugWindowHierarchy() const; | 222 std::string GetDebugWindowHierarchy() const; |
| 216 void BuildDebugInfo(const std::string& depth, | 223 void BuildDebugInfo(const std::string& depth, |
| 217 Window* window, | 224 Window* window, |
| (...skipping 26 matching lines...) Expand all Loading... |
| 244 // if there is no InFlightChange matching |change|. | 251 // if there is no InFlightChange matching |change|. |
| 245 // See InFlightChange for details on how InFlightChanges are used. | 252 // See InFlightChange for details on how InFlightChanges are used. |
| 246 bool ApplyServerChangeToExistingInFlightChange(const InFlightChange& change); | 253 bool ApplyServerChangeToExistingInFlightChange(const InFlightChange& change); |
| 247 | 254 |
| 248 static Id server_id(const Window* window) { return window->server_id(); } | 255 static Id server_id(const Window* window) { return window->server_id(); } |
| 249 | 256 |
| 250 Window* BuildWindowTree(const mojo::Array<mojom::WindowDataPtr>& windows, | 257 Window* BuildWindowTree(const mojo::Array<mojom::WindowDataPtr>& windows, |
| 251 Window* initial_parent); | 258 Window* initial_parent); |
| 252 | 259 |
| 253 Window* NewWindowImpl(NewWindowType type, | 260 Window* NewWindowImpl(NewWindowType type, |
| 254 const Window::SharedProperties* properties); | 261 const Window::SharedProperties* properties, |
| 262 bool container = false); |
| 255 | 263 |
| 256 // Sets the mojom::WindowTree implementation. | 264 // Sets the mojom::WindowTree implementation. |
| 257 void SetWindowTree(mojom::WindowTreePtr window_tree_ptr); | 265 void SetWindowTree(mojom::WindowTreePtr window_tree_ptr); |
| 258 | 266 |
| 259 // Called when the mojom::WindowTree connection is lost, deletes this. | 267 // Called when the mojom::WindowTree connection is lost, deletes this. |
| 260 void OnConnectionLost(); | 268 void OnConnectionLost(); |
| 261 | 269 |
| 262 // OnEmbed() calls into this. Exposed as a separate function for testing. | 270 // OnEmbed() calls into this. Exposed as a separate function for testing. |
| 263 void OnEmbedImpl(mojom::WindowTree* window_tree, | 271 void OnEmbedImpl(mojom::WindowTree* window_tree, |
| 264 ClientSpecificId client_id, | 272 ClientSpecificId client_id, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 288 void OnUnembed(Id window_id) override; | 296 void OnUnembed(Id window_id) override; |
| 289 void OnCaptureChanged(Id new_capture_window_id, | 297 void OnCaptureChanged(Id new_capture_window_id, |
| 290 Id old_capture_window_id) override; | 298 Id old_capture_window_id) override; |
| 291 void OnTopLevelCreated(uint32_t change_id, | 299 void OnTopLevelCreated(uint32_t change_id, |
| 292 mojom::WindowDataPtr data, | 300 mojom::WindowDataPtr data, |
| 293 int64_t display_id, | 301 int64_t display_id, |
| 294 bool drawn) override; | 302 bool drawn) override; |
| 295 void OnWindowBoundsChanged(Id window_id, | 303 void OnWindowBoundsChanged(Id window_id, |
| 296 const gfx::Rect& old_bounds, | 304 const gfx::Rect& old_bounds, |
| 297 const gfx::Rect& new_bounds) override; | 305 const gfx::Rect& new_bounds) override; |
| 306 void OnWindowSurfaceCreated( |
| 307 Id window_id, |
| 308 const gfx::Size& size, |
| 309 float device_scale_factor, |
| 310 const cc::SurfaceId& surface_id, |
| 311 const cc::SurfaceSequence& surface_sequence) override; |
| 298 void OnClientAreaChanged( | 312 void OnClientAreaChanged( |
| 299 uint32_t window_id, | 313 uint32_t window_id, |
| 300 const gfx::Insets& new_client_area, | 314 const gfx::Insets& new_client_area, |
| 301 mojo::Array<gfx::Rect> new_additional_client_areas) override; | 315 mojo::Array<gfx::Rect> new_additional_client_areas) override; |
| 302 void OnTransientWindowAdded(uint32_t window_id, | 316 void OnTransientWindowAdded(uint32_t window_id, |
| 303 uint32_t transient_window_id) override; | 317 uint32_t transient_window_id) override; |
| 304 void OnTransientWindowRemoved(uint32_t window_id, | 318 void OnTransientWindowRemoved(uint32_t window_id, |
| 305 uint32_t transient_window_id) override; | 319 uint32_t transient_window_id) override; |
| 306 void OnWindowHierarchyChanged( | 320 void OnWindowHierarchyChanged( |
| 307 Id window_id, | 321 Id window_id, |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 std::set<Id> drag_entered_windows_; | 493 std::set<Id> drag_entered_windows_; |
| 480 | 494 |
| 481 base::WeakPtrFactory<WindowTreeClient> weak_factory_; | 495 base::WeakPtrFactory<WindowTreeClient> weak_factory_; |
| 482 | 496 |
| 483 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); | 497 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); |
| 484 }; | 498 }; |
| 485 | 499 |
| 486 } // namespace ui | 500 } // namespace ui |
| 487 | 501 |
| 488 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 502 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
| OLD | NEW |