| // Copyright 2020 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. |
| |
| module blink.mojom; |
| |
| import "services/network/public/mojom/fetch_api.mojom"; |
| import "services/network/public/mojom/url_loader.mojom"; |
| import "services/network/public/mojom/url_response_head.mojom"; |
| import "third_party/blink/public/mojom/loader/resource_load_info.mojom"; |
| import "url/mojom/url.mojom"; |
| |
| // This interface is used to notify loading stats of the resource. |
| interface ResourceLoadInfoNotifier { |
| // Called to update information to determine whether a user gesture should |
| // carryover to future navigations, when a request is initiated. |
| [EnableIf=is_android] |
| NotifyUpdateUserGestureCarryoverInfo(); |
| |
| // Called to notify the request has been redirected. |
| NotifyResourceRedirectReceived(network.mojom.URLRequestRedirectInfo redirect_info, |
| network.mojom.URLResponseHead redirect_response); |
| |
| // Called to notify the response has been received. |
| NotifyResourceResponseReceived(int64 request_id, |
| url.mojom.Url response_url, |
| network.mojom.URLResponseHead head, |
| network.mojom.RequestDestination request_destination, |
| int32 previews_state); |
| |
| // Called to notify the transfer size is updated. |
| NotifyResourceTransferSizeUpdated(int64 request_id, int32 transfer_size_diff); |
| |
| // Called to notify the request has been completed. |
| NotifyResourceLoadCompleted(ResourceLoadInfo resource_load_info, |
| network.mojom.URLLoaderCompletionStatus status); |
| |
| // Called to notify the request has been canceled. |
| NotifyResourceLoadCanceled(int64 request_id); |
| |
| // Makes a new endpoint to this ResourceLoadInfoNotifier. |
| Clone(pending_receiver<ResourceLoadInfoNotifier> pending_resource_load_info_notifier); |
| }; |