OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_DEMO_MUS_DEMO_EXTERNAL_H_ | 5 #ifndef SERVICES_UI_DEMO_MUS_DEMO_EXTERNAL_H_ |
6 #define SERVICES_UI_DEMO_MUS_DEMO_EXTERNAL_H_ | 6 #define SERVICES_UI_DEMO_MUS_DEMO_EXTERNAL_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "services/ui/demo/mus_demo.h" | 11 #include "services/ui/demo/mus_demo.h" |
12 #include "services/ui/public/interfaces/window_tree_host.mojom.h" | 12 #include "services/ui/public/interfaces/window_tree_host.mojom.h" |
13 | 13 |
14 namespace ui { | 14 namespace ui { |
15 namespace demo { | 15 namespace demo { |
16 | 16 |
17 // MusDemoExternal demonstrates Mus operating in "external" mode: A new platform | 17 // MusDemoExternal demonstrates Mus operating in "external" mode: A new platform |
18 // window (and hence acceleratedWidget) is created for each aura window. | 18 // window (and hence acceleratedWidget) is created for each aura window. |
19 class MusDemoExternal : public MusDemo { | 19 class MusDemoExternal : public MusDemo { |
20 public: | 20 public: |
21 MusDemoExternal(); | 21 MusDemoExternal(); |
22 ~MusDemoExternal() final; | 22 ~MusDemoExternal() final; |
23 | 23 |
24 private: | 24 private: |
| 25 void OpenNewWindow(); |
| 26 |
25 // ui::demo::MusDemo: | 27 // ui::demo::MusDemo: |
26 void OnStartImpl(std::unique_ptr<aura::WindowTreeClient>* window_tree_client, | 28 void OnStartImpl() final; |
27 std::unique_ptr<WindowTreeData>* window_tree_data) final; | 29 std::unique_ptr<aura::WindowTreeClient> CreateWindowTreeClient() final; |
28 | 30 |
29 // aura::WindowTreeClientDelegate: | 31 // aura::WindowTreeClientDelegate: |
30 void OnEmbed(std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) final; | 32 void OnEmbed(std::unique_ptr<aura::WindowTreeHostMus> window_tree_host) final; |
31 void OnEmbedRootDestroyed(aura::WindowTreeHostMus* window_tree_host) final; | 33 void OnEmbedRootDestroyed(aura::WindowTreeHostMus* window_tree_host) final; |
32 | 34 |
33 mojom::WindowTreeHostFactoryPtr window_tree_host_factory_; | 35 mojom::WindowTreeHostFactoryPtr window_tree_host_factory_; |
| 36 mojom::WindowTreeClientPtr window_tree_client_mojo_; |
| 37 size_t initialized_windows_count_ = 0; |
34 | 38 |
35 DISALLOW_COPY_AND_ASSIGN(MusDemoExternal); | 39 DISALLOW_COPY_AND_ASSIGN(MusDemoExternal); |
36 }; | 40 }; |
37 | 41 |
38 } // namespace demo | 42 } // namespace demo |
39 } // namespace ui | 43 } // namespace ui |
40 | 44 |
41 #endif // SERVICES_UI_DEMO_MUS_DEMO_EXTERNAL_H_ | 45 #endif // SERVICES_UI_DEMO_MUS_DEMO_EXTERNAL_H_ |
OLD | NEW |