1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 import "components/mus/public/interfaces/view_tree.mojom";
8 import "network/public/interfaces/url_loader.mojom";
15 interface WebViewClient {
16 // Page-generated request for a top level frame navigation.
17 TopLevelNavigate(mojo.URLRequest request);
19 // Loading and progress notifications.
20 LoadingStateChanged(bool is_loading, double progress);
21 BackForwardChanged(ButtonState back_button, ButtonState forward_button);
23 // TODO(beng): also forward text direction.
24 TitleChanged(string? title);
28 // Navigate the top level frame to |request|.
29 LoadRequest(mojo.URLRequest request);
31 // Provide a ViewTreeClient for this specific WebView.
32 GetViewTreeClient(mojo.ViewTreeClient& view_tree_client);
34 // Moves forward and backward.
39 interface WebViewFactory {
40 CreateWebView(WebViewClient client, WebView& web_view);