mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
140 lines
4.7 KiB
Plaintext
140 lines
4.7 KiB
Plaintext
|
// 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);
|
||
|
};
|
||
|
|