blob: c7fdca92d850a7cfacd03e3b073ad58dfd7b701e [file] [log] [blame]
// Copyright 2018 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.
library chromium.web;
using fuchsia.sys;
using fuchsia.ui.viewsv1token;
interface Frame {
// 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.
//
// |view_owner|: Request for the Frame's ViewOwner.
// |services|: Request for the Frame's View-related services.
1: CreateView(request<fuchsia.ui.viewsv1token.ViewOwner> view_owner,
request<fuchsia.sys.ServiceProvider>? services);
// Returns an interface through which the frame may be navigated to
// a desired URL, reloaded, etc.
//
// |view_provider|: An interface request for the Frame's
// NavigationController.
2: GetNavigationController(request<NavigationController> controller);
// Sets the observer for handling page navigation events.
//
// |observer|: The observer to use. Unregisters any existing observers
// if null.
100: SetNavigationEventObserver(NavigationEventObserver? observer);
};