| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| [DartPackage="mojo_services"] |
| module mojo.ui; |
| |
| import "mojo/public/interfaces/application/service_provider.mojom"; |
| import "mojo/services/ui/views/interfaces/views.mojom"; |
| |
| // Provides a View upon request. |
| // |
| // Applications should implement and expose this service so that they can |
| // expose views to be embedded into other applications. |
| interface ViewProvider { |
| // Creates and registers a view with the view manager and returns its |
| // view token (as provided by |ViewManager.RegisterView()|). |
| // |
| // Having received the view token, the caller should attach the view to |
| // a view tree and lay it out. |
| // |
| // The caller may provide services to the view via the |services| |
| // service provider. |
| // |
| // The caller may receive services from the view via the |exposed_services| |
| // service provider. |
| CreateView(mojo.ServiceProvider&? services, |
| mojo.ServiceProvider? exposed_services) => |
| (ViewToken view_token); |
| }; |