blob: b09ec929696f689ca09f8bfb27961c2279136c98 [file] [log] [blame]
// 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);
};