forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appcache.mojom
139 lines (113 loc) · 4.67 KB
/
appcache.mojom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// 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 content.mojom;
import "content/public/common/appcache_info.mojom";
import "url/mojom/url.mojom";
import "services/network/public/mojom/url_loader_factory.mojom";
enum AppCacheEventID {
APPCACHE_CHECKING_EVENT,
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);
};