| 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 |