OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 module ui.mojom; | 5 module ui.mojom; |
6 | 6 |
7 import "services/ui/public/interfaces/window_tree.mojom"; | 7 import "services/ui/public/interfaces/window_tree.mojom"; |
8 import "ui/gfx/geometry/mojo/geometry.mojom"; | 8 import "ui/gfx/geometry/mojo/geometry.mojom"; |
9 | 9 |
10 // WindowTreeHost encapsulates a unique underlying platform window, with a tree | 10 // WindowTreeHost encapsulates a unique underlying platform window, with a tree |
11 // of windows. | 11 // of windows. |
12 interface WindowTreeHost { | 12 interface WindowTreeHost { |
13 // Sets the size of the platform window. | 13 // Sets the size of the platform window. |
14 SetSize(gfx.mojom.Size size); | 14 SetSize(gfx.mojom.Size size); |
15 | 15 |
16 // Sets a title string to be displayed on the platform window. | 16 // Sets a title string to be displayed on the platform window. |
17 SetTitle(string title); | 17 SetTitle(string title); |
18 }; | 18 }; |
19 | 19 |
| 20 // WindowTreeHostFactoryRegistrar is the entry point to obtain a |
| 21 // WindowTreeHostFactory instance in 'external window mode'. |
| 22 // Callers also obtain a mojo handle to the unique ws::WindowTree instance, |
| 23 // on the server-side. |
| 24 // |
| 25 // NOTE: WindowTreeHostFactoryRegistrar::Register and |
| 26 // WindowTreeHostFactory::CreatePlatformWindow are put on separate interfaces, |
| 27 // so that the interface containing ::CreatePlatformWindow is obtained by |
| 28 // calling ::Register. That eliminates the possibility of ::CreatePlatformWindow |
| 29 // being called before ::Register. |
| 30 interface WindowTreeHostFactoryRegistrar { |
| 31 Register(WindowTreeHostFactory& window_tree_host_factory, |
| 32 WindowTree& tree_request, |
| 33 WindowTreeClient client); |
| 34 }; |
| 35 |
| 36 // WindowTreeHostFactory triggers the creation of WindowTreeHost instances. |
20 interface WindowTreeHostFactory { | 37 interface WindowTreeHostFactory { |
21 // Creates a new WindowTreeHost. |tree_client| is queried for the | 38 // Creates a new WindowTreeHost. |tree_client| is queried for the |
22 // WindowManager. | 39 // WindowManager. |
23 CreateWindowTreeHost(WindowTreeHost& window_tree_host, | 40 CreateWindowTreeHost(WindowTreeHost& window_tree_host, |
24 WindowTreeClient tree_client); | 41 WindowTreeClient tree_client); |
| 42 |
| 43 // Creates a new WindowTreeHost in 'external window mode'. |
| 44 // One WindowTree/WindowTreeClient pair can serve one or more WindowTreeHost |
| 45 // instances. |
| 46 CreatePlatformWindow(WindowTreeHost& window_tree_host, uint32 client_id); |
25 }; | 47 }; |
OLD | NEW |