| Index: services/ui/public/interfaces/window_tree_host.mojom
|
| diff --git a/services/ui/public/interfaces/window_tree_host.mojom b/services/ui/public/interfaces/window_tree_host.mojom
|
| index 8a349600a3d9b22aa5ca114ea6c949ad30e60315..841fb2d27a06f4328d8d6b84b6c6205f9c6d3bce 100644
|
| --- a/services/ui/public/interfaces/window_tree_host.mojom
|
| +++ b/services/ui/public/interfaces/window_tree_host.mojom
|
| @@ -17,9 +17,31 @@ interface WindowTreeHost {
|
| SetTitle(string title);
|
| };
|
|
|
| +// WindowTreeHostFactoryRegistrar is the entry point to obtain a
|
| +// WindowTreeHostFactory instance in 'external window mode'.
|
| +// Callers also obtain a mojo handle to the unique ws::WindowTree instance,
|
| +// on the server-side.
|
| +//
|
| +// NOTE: WindowTreeHostFactoryRegistrar::Register and
|
| +// WindowTreeHostFactory::CreatePlatformWindow are put on separate interfaces,
|
| +// so that the interface containing ::CreatePlatformWindow is obtained by
|
| +// calling ::Register. That eliminates the possibility of ::CreatePlatformWindow
|
| +// being called before ::Register.
|
| +interface WindowTreeHostFactoryRegistrar {
|
| + Register(WindowTreeHostFactory& window_tree_host_factory,
|
| + WindowTree& tree_request,
|
| + WindowTreeClient client);
|
| +};
|
| +
|
| +// WindowTreeHostFactory triggers the creation of WindowTreeHost instances.
|
| interface WindowTreeHostFactory {
|
| // Creates a new WindowTreeHost. |tree_client| is queried for the
|
| // WindowManager.
|
| CreateWindowTreeHost(WindowTreeHost& window_tree_host,
|
| WindowTreeClient tree_client);
|
| +
|
| + // Creates a new WindowTreeHost in 'external window mode'.
|
| + // One WindowTree/WindowTreeClient pair can serve one or more WindowTreeHost
|
| + // instances.
|
| + CreatePlatformWindow(WindowTreeHost& window_tree_host, uint32 client_id);
|
| };
|
|
|