diff options
Diffstat (limited to 'chromium/third_party/blink/public/mojom/appcache/appcache.mojom')
-rw-r--r-- | chromium/third_party/blink/public/mojom/appcache/appcache.mojom | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/chromium/third_party/blink/public/mojom/appcache/appcache.mojom b/chromium/third_party/blink/public/mojom/appcache/appcache.mojom new file mode 100644 index 00000000000..119396773c7 --- /dev/null +++ b/chromium/third_party/blink/public/mojom/appcache/appcache.mojom @@ -0,0 +1,141 @@ +// Copyright 2017 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 "third_party/blink/public/mojom/appcache/appcache_info.mojom"; +import "url/mojom/url.mojom"; +import "services/network/public/mojom/url_loader_factory.mojom"; + +const int64 kAppCacheNoHostId = 0; + +enum AppCacheEventID { + APPCACHE_CHECKING_EVENT = 0, + APPCACHE_ERROR_EVENT, + APPCACHE_NO_UPDATE_EVENT, + APPCACHE_DOWNLOADING_EVENT, + APPCACHE_PROGRESS_EVENT, + APPCACHE_UPDATE_READY_EVENT, + APPCACHE_CACHED_EVENT, + APPCACHE_OBSOLETE_EVENT, +}; + +enum AppCacheErrorReason { + APPCACHE_MANIFEST_ERROR, + APPCACHE_SIGNATURE_ERROR, + APPCACHE_RESOURCE_ERROR, + APPCACHE_CHANGED_ERROR, + APPCACHE_ABORT_ERROR, + APPCACHE_QUOTA_ERROR, + APPCACHE_POLICY_ERROR, + APPCACHE_UNKNOWN_ERROR, +}; + +struct AppCacheResourceInfo { + url.mojom.Url url; + int64 size; + bool is_master; + bool is_manifest; + bool is_intercept; + bool is_fallback; + bool is_foreign; + bool is_explicit; + int64 response_id; +}; + +struct AppCacheErrorDetails { + string message; + AppCacheErrorReason reason = APPCACHE_UNKNOWN_ERROR; + url.mojom.Url url; + int32 status; + bool is_cross_origin; +}; + + +// AppCache messages sent from the child process to the browser. +interface AppCacheBackend { + // Informs the browser of a new appcache host. + RegisterHost(int32 host_id); + + // Informs the browser of an appcache host being destroyed. + UnregisterHost(int32 host_id); + + // Informs the browser of which host caused another to be created. + // This can influence which appcache should be utilized for the main + // resource load into the newly created host, so it should be sent + // prior to the main resource request being initiated. + SetSpawningHostId(int32 host_id, int32 spawning_host_id); + + // Initiates the cache selection algorithm for the given host. + // This is sent prior to any subresource loads. An AppCacheMsg_CacheSelected + // message will be sent in response. + // 'host_id' indentifies a specific document or worker + // 'document_url' the url of the main resource + // 'appcache_document_was_loaded_from' the id of the appcache the main + // resource was loaded from or kAppCacheNoCacheId + // 'opt_manifest_url' the manifest url specified in the <html> tag if any + SelectCache(int32 host_id, + url.mojom.Url document_url, + int64 appcache_document_was_loaded_from, + url.mojom.Url opt_manifest_url); + + // Initiates worker specific cache selection algorithm for the given host. + SelectCacheForSharedWorker(int32 host_id, int64 appcache_id); + + // Informs the browser of a 'foreign' entry in an appcache. + MarkAsForeignEntry(int32 host_id, + url.mojom.Url document_url, + int64 appcache_document_was_loaded_from); + + // Returns the status of the appcache associated with host_id. + [Sync] + GetStatus(int32 host_id) => (AppCacheStatus status); + + // Initiates an update of the appcache associated with host_id. + [Sync] + StartUpdate(int32 host_id) => (bool success); + + // Swaps a new pending appcache, if there is one, into use for host_id. + [Sync] + SwapCache(int32 host_id) => (bool success); + + // Gets resource list from appcache synchronously. + [Sync] + GetResourceList(int32 host_id) => (array<AppCacheResourceInfo> resources); +}; + +// AppCache messages sent from the browser to the renderer process. +interface AppCacheFrontend { + // Notifies the renderer of the appcache that has been selected for a + // a particular host. This is sent in reply to AppCacheHostMsg_SelectCache. + CacheSelected(int32 host_id, AppCacheInfo info); + + // Notifies the renderer of an AppCache status change. + StatusChanged(array<int32> host_ids, AppCacheStatus status); + + // Notifies the renderer of an AppCache event other than the + // progress event which has a seperate message. + EventRaised(array<int32> host_ids, AppCacheEventID event_id); + + // Notifies the renderer of an AppCache progress event. + ProgressEventRaised(array<int32> host_ids, + url.mojom.Url url, + int32 total, + int32 complete); + + // Notifies the renderer of an AppCache error event. + ErrorEventRaised(array<int32> host_ids, AppCacheErrorDetails error_details); + + // Notifies the renderer of an AppCache logging message. + LogMessage(int32 host_id, int32 log_level, string message); + + // Notifies the renderer of the fact that AppCache access was blocked. + ContentBlocked(int32 host_id, url.mojom.Url manifest_url); + + // In the network service world this message sets the URLLoaderFactory to be + // used for subresources. + SetSubresourceFactory(int32 host_id, + network.mojom.URLLoaderFactory url_loader_factory); +}; + |