// 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.
[ServiceName="mojo::ui::ViewProvider"]
interface ViewProvider {
  // Creates and registers a view with the view manager and returns its
  // view owner which may subsequently be passed to |View.AddChild()|
  // to attach the view to a view hierarchy.
  //
  // Implementors of this interface are responsible for creating the view
  // and forwarding the |view_owner| interface request to
  // |ViewManager.CreateView()|.
  //
  // 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(ViewOwner& view_owner,
             mojo.ServiceProvider&? services,
             mojo.ServiceProvider? exposed_services);
};
