| // 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. |
| |
| module chrome.mojom; |
| |
| import "url/mojom/url.mojom"; |
| |
| enum OfflinePageAutoFetcherScheduleResult { |
| // There are too many in flight requests, so the new request was not |
| // scheduled. |
| kNotEnoughQuota, |
| // An error prevented the request from being scheduled. |
| kOtherError, |
| // There already exists a request for the URL, so the request was not |
| // scheduled. |
| kAlreadyScheduled, |
| // The request was scheduled. |
| kScheduled |
| }; |
| |
| // Provides controls for fetching offline pages automatically and quietly in |
| // the background. |
| interface OfflinePageAutoFetcher { |
| // Attempts to schedule an auto fetch for the URL on the current page. |
| // If user_requested is false, only schedules the fetch if there is remaining |
| // quota. |
| TrySchedule(bool user_requested) => |
| (OfflinePageAutoFetcherScheduleResult out); |
| |
| // Cancels a previously scheduled auto fetch for the URL of the current page. |
| CancelSchedule(); |
| }; |