| 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 15 matching lines...) Expand all Loading... |
| 26 | 26 |
| 27 namespace display { | 27 namespace display { |
| 28 class Display; | 28 class Display; |
| 29 } | 29 } |
| 30 | 30 |
| 31 namespace gfx { | 31 namespace gfx { |
| 32 class Insets; | 32 class Insets; |
| 33 class Size; | 33 class Size; |
| 34 } | 34 } |
| 35 | 35 |
| 36 namespace shell { | 36 namespace service_manager { |
| 37 class Connector; | 37 class Connector; |
| 38 } | 38 } |
| 39 | 39 |
| 40 namespace ui { | 40 namespace ui { |
| 41 class InFlightChange; | 41 class InFlightChange; |
| 42 class WindowTreeClientDelegate; | 42 class WindowTreeClientDelegate; |
| 43 class WindowTreeClientPrivate; | 43 class WindowTreeClientPrivate; |
| 44 class WindowTreeClientObserver; | 44 class WindowTreeClientObserver; |
| 45 enum class ChangeType; | 45 enum class ChangeType; |
| 46 | 46 |
| 47 // Manages the connection with mus. | 47 // Manages the connection with mus. |
| 48 // | 48 // |
| 49 // WindowTreeClient is owned by the creator. Generally when the delegate gets | 49 // WindowTreeClient is owned by the creator. Generally when the delegate gets |
| 50 // one of OnEmbedRootDestroyed() or OnLostConnection() it should delete the | 50 // one of OnEmbedRootDestroyed() or OnLostConnection() it should delete the |
| 51 // WindowTreeClient. | 51 // WindowTreeClient. |
| 52 // | 52 // |
| 53 // When WindowTreeClient is deleted all windows are deleted (and observers | 53 // When WindowTreeClient is deleted all windows are deleted (and observers |
| 54 // notified). | 54 // notified). |
| 55 class WindowTreeClient : public mojom::WindowTreeClient, | 55 class WindowTreeClient : public mojom::WindowTreeClient, |
| 56 public mojom::WindowManager, | 56 public mojom::WindowManager, |
| 57 public WindowManagerClient { | 57 public WindowManagerClient { |
| 58 public: | 58 public: |
| 59 explicit WindowTreeClient( | 59 explicit WindowTreeClient( |
| 60 WindowTreeClientDelegate* delegate, | 60 WindowTreeClientDelegate* delegate, |
| 61 WindowManagerDelegate* window_manager_delegate = nullptr, | 61 WindowManagerDelegate* window_manager_delegate = nullptr, |
| 62 mojom::WindowTreeClientRequest request = nullptr); | 62 mojom::WindowTreeClientRequest request = nullptr); |
| 63 ~WindowTreeClient() override; | 63 ~WindowTreeClient() override; |
| 64 | 64 |
| 65 // Establishes the connection by way of the WindowTreeFactory. | 65 // Establishes the connection by way of the WindowTreeFactory. |
| 66 void ConnectViaWindowTreeFactory(shell::Connector* connector); | 66 void ConnectViaWindowTreeFactory(service_manager::Connector* connector); |
| 67 | 67 |
| 68 // Establishes the connection by way of WindowManagerWindowTreeFactory. | 68 // Establishes the connection by way of WindowManagerWindowTreeFactory. |
| 69 void ConnectAsWindowManager(shell::Connector* connector); | 69 void ConnectAsWindowManager(service_manager::Connector* connector); |
| 70 | 70 |
| 71 // Wait for OnEmbed(), returning when done. | 71 // Wait for OnEmbed(), returning when done. |
| 72 void WaitForEmbed(); | 72 void WaitForEmbed(); |
| 73 | 73 |
| 74 bool connected() const { return tree_ != nullptr; } | 74 bool connected() const { return tree_ != nullptr; } |
| 75 ClientSpecificId client_id() const { return client_id_; } | 75 ClientSpecificId client_id() const { return client_id_; } |
| 76 | 76 |
| 77 // API exposed to the window implementations that pushes local changes to the | 77 // API exposed to the window implementations that pushes local changes to the |
| 78 // service. | 78 // service. |
| 79 void DestroyWindow(Window* window); | 79 void DestroyWindow(Window* window); |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 std::set<Id> drag_entered_windows_; | 486 std::set<Id> drag_entered_windows_; |
| 487 | 487 |
| 488 base::WeakPtrFactory<WindowTreeClient> weak_factory_; | 488 base::WeakPtrFactory<WindowTreeClient> weak_factory_; |
| 489 | 489 |
| 490 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); | 490 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); |
| 491 }; | 491 }; |
| 492 | 492 |
| 493 } // namespace ui | 493 } // namespace ui |
| 494 | 494 |
| 495 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 495 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
| OLD | NEW |