| 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 SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ | 5 #ifndef SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ |
| 6 #define SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ | 6 #define SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "mojo/public/cpp/bindings/binding_set.h" | 10 #include "mojo/public/cpp/bindings/binding_set.h" |
| 11 #include "services/ui/public/interfaces/window_tree_host.mojom.h" | 11 #include "services/ui/public/interfaces/window_tree_host.mojom.h" |
| 12 #include "services/ui/ws/platform_display_init_params.h" | 12 #include "services/ui/ws/platform_display_init_params.h" |
| 13 #include "services/ui/ws/user_id.h" | 13 #include "services/ui/ws/user_id.h" |
| 14 | 14 |
| 15 namespace ui { | 15 namespace ui { |
| 16 namespace ws { | 16 namespace ws { |
| 17 | 17 |
| 18 class WindowServer; | 18 class WindowServer; |
| 19 class WindowTree; |
| 19 | 20 |
| 20 class WindowTreeHostFactory : public mojom::WindowTreeHostFactory { | 21 class WindowTreeHostFactory : public mojom::WindowTreeHostFactory { |
| 21 public: | 22 public: |
| 22 WindowTreeHostFactory(WindowServer* window_server, const UserId& user_id); | 23 WindowTreeHostFactory(WindowServer* window_server, const UserId& user_id); |
| 23 ~WindowTreeHostFactory() override; | 24 ~WindowTreeHostFactory() override; |
| 24 | 25 |
| 25 void AddBinding(mojom::WindowTreeHostFactoryRequest request); | 26 void Init(mojom::WindowTreeHostFactoryRequest request, |
| 27 mojom::WindowTreeRequest tree_request, |
| 28 mojom::WindowTreeClientPtr tree_client); |
| 29 |
| 30 WindowTree* window_tree() { return tree_; } |
| 26 | 31 |
| 27 private: | 32 private: |
| 28 // mojom::WindowTreeHostFactory implementation. | 33 // mojom::WindowTreeHostFactory implementation. |
| 29 void CreateWindowTreeHost(mojom::WindowTreeHostRequest host, | 34 void CreateWindowTreeHost( |
| 30 mojom::WindowTreeClientPtr tree_client) override; | 35 mojom::WindowTreeHostRequest tree_host_request) override; |
| 31 | 36 |
| 32 WindowServer* window_server_; | 37 WindowServer* window_server_; |
| 33 const UserId user_id_; | 38 const UserId user_id_; |
| 34 PlatformDisplayInitParams platform_display_init_params_; | 39 PlatformDisplayInitParams platform_display_init_params_; |
| 35 mojo::BindingSet<mojom::WindowTreeHostFactory> bindings_; | 40 mojo::BindingSet<mojom::WindowTreeHostFactory> bindings_; |
| 36 | 41 |
| 42 // Owned by WindowServer. |
| 43 WindowTree* tree_ = nullptr; |
| 44 |
| 37 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostFactory); | 45 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostFactory); |
| 38 }; | 46 }; |
| 39 | 47 |
| 40 } // namespace ws | 48 } // namespace ws |
| 41 } // namespace ui | 49 } // namespace ui |
| 42 | 50 |
| 43 #endif // SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ | 51 #endif // SERVICES_UI_WS_WINDOW_TREE_HOST_FACTORY_H_ |
| OLD | NEW |