summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/public/mojom/appcache/appcache.mojom
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/public/mojom/appcache/appcache.mojom')
-rw-r--r--chromium/third_party/blink/public/mojom/appcache/appcache.mojom141
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);
+};
+