| Index: third_party/WebKit/public/platform/modules/serviceworker/service_worker_global_scope.mojom
|
| diff --git a/third_party/WebKit/public/platform/modules/serviceworker/service_worker_global_scope.mojom b/third_party/WebKit/public/platform/modules/serviceworker/service_worker_global_scope.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eebb01f094d2f852f917b6db52b466d5230997ca
|
| --- /dev/null
|
| +++ b/third_party/WebKit/public/platform/modules/serviceworker/service_worker_global_scope.mojom
|
| @@ -0,0 +1,151 @@
|
| +// Copyright 2016 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 "url/mojo/url.mojom";
|
| +import "service_worker_event_status.mojom";
|
| +
|
| +enum RequestContextType {
|
| + REQUEST_CONTEXT_TYPE_UNSPECIFIED = 0,
|
| + REQUEST_CONTEXT_TYPE_AUDIO,
|
| + REQUEST_CONTEXT_TYPE_BEACON,
|
| + REQUEST_CONTEXT_TYPE_CSP_REPORT,
|
| + REQUEST_CONTEXT_TYPE_DOWNLOAD,
|
| + REQUEST_CONTEXT_TYPE_EMBED,
|
| + REQUEST_CONTEXT_TYPE_EVENT_SOURCE,
|
| + REQUEST_CONTEXT_TYPE_FAVICON,
|
| + REQUEST_CONTEXT_TYPE_FETCH,
|
| + REQUEST_CONTEXT_TYPE_FONT,
|
| + REQUEST_CONTEXT_TYPE_FORM,
|
| + REQUEST_CONTEXT_TYPE_FRAME,
|
| + REQUEST_CONTEXT_TYPE_HYPERLINK,
|
| + REQUEST_CONTEXT_TYPE_IFRAME,
|
| + REQUEST_CONTEXT_TYPE_IMAGE,
|
| + REQUEST_CONTEXT_TYPE_IMAGE_SET,
|
| + REQUEST_CONTEXT_TYPE_IMPORT,
|
| + REQUEST_CONTEXT_TYPE_INTERNAL,
|
| + REQUEST_CONTEXT_TYPE_LOCATION,
|
| + REQUEST_CONTEXT_TYPE_MANIFEST,
|
| + REQUEST_CONTEXT_TYPE_OBJECT,
|
| + REQUEST_CONTEXT_TYPE_PING,
|
| + REQUEST_CONTEXT_TYPE_PLUGIN,
|
| + REQUEST_CONTEXT_TYPE_PREFETCH,
|
| + REQUEST_CONTEXT_TYPE_SCRIPT,
|
| + REQUEST_CONTEXT_TYPE_SERVICE_WORKER,
|
| + REQUEST_CONTEXT_TYPE_SHARED_WORKER,
|
| + REQUEST_CONTEXT_TYPE_SUBRESOURCE,
|
| + REQUEST_CONTEXT_TYPE_STYLE,
|
| + REQUEST_CONTEXT_TYPE_TRACK,
|
| + REQUEST_CONTEXT_TYPE_VIDEO,
|
| + REQUEST_CONTEXT_TYPE_WORKER,
|
| + REQUEST_CONTEXT_TYPE_XML_HTTP_REQUEST,
|
| + REQUEST_CONTEXT_TYPE_XSLT,
|
| + REQUEST_CONTEXT_TYPE_LAST = REQUEST_CONTEXT_TYPE_XSLT
|
| +};
|
| +
|
| +enum RequestContextFrameType {
|
| + REQUEST_CONTEXT_FRAME_TYPE_AUXILIARY = 0,
|
| + REQUEST_CONTEXT_FRAME_TYPE_NESTED,
|
| + REQUEST_CONTEXT_FRAME_TYPE_NONE,
|
| + REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL,
|
| + REQUEST_CONTEXT_FRAME_TYPE_LAST = REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL
|
| +};
|
| +
|
| +
|
| +enum FetchRequestMode {
|
| + FETCH_REQUEST_MODE_SAME_ORIGIN,
|
| + FETCH_REQUEST_MODE_NO_CORS,
|
| + FETCH_REQUEST_MODE_CORS,
|
| + FETCH_REQUEST_MODE_CORS_WITH_FORCED_PREFLIGHT,
|
| + FETCH_REQUEST_MODE_NAVIGATE,
|
| + FETCH_REQUEST_MODE_LAST = FETCH_REQUEST_MODE_NAVIGATE
|
| +};
|
| +
|
| +enum WebReferrerPolicy {
|
| + WebReferrerPolicyAlways,
|
| + WebReferrerPolicyDefault,
|
| + WebReferrerPolicyNoReferrerWhenDowngrade,
|
| + WebReferrerPolicyNever,
|
| + WebReferrerPolicyOrigin,
|
| + WebReferrerPolicyOriginWhenCrossOrigin,
|
| + WebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin,
|
| + WebReferrerPolicyLast = WebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin
|
| +};
|
| +
|
| +
|
| +struct Referrer {
|
| + string? url;
|
| + WebReferrerPolicy policy;
|
| +};
|
| +
|
| +enum FetchCredentialsMode {
|
| + FETCH_CREDENTIALS_MODE_OMIT,
|
| + FETCH_CREDENTIALS_MODE_SAME_ORIGIN,
|
| + FETCH_CREDENTIALS_MODE_INCLUDE,
|
| + FETCH_CREDENTIALS_MODE_PASSWORD,
|
| + FETCH_CREDENTIALS_MODE_LAST = FETCH_CREDENTIALS_MODE_PASSWORD
|
| +};
|
| +
|
| +enum FetchRedirectMode {
|
| + FOLLOW_MODE,
|
| + ERROR_MODE,
|
| + MANUAL_MODE,
|
| + LAST = MANUAL_MODE
|
| +};
|
| +
|
| +enum ServiceWorkerFetchType {
|
| + FETCH,
|
| + FOREIGN_FETCH,
|
| + LAST = FOREIGN_FETCH
|
| +};
|
| +
|
| +
|
| +struct ServiceWorkerFetchRequest {
|
| + FetchRequestMode mode;
|
| + bool is_main_resource_load;
|
| + RequestContextType request_context_type;
|
| + RequestContextFrameType frame_type;
|
| + url.mojom.Url url;
|
| + string method;
|
| + // ServiceWorkerHeaderMap headers;
|
| + // map<string, string> headers;
|
| + string blob_uuid;
|
| + uint64 blob_size;
|
| + // Referrer referrer;
|
| + FetchCredentialsMode credentials_mode;
|
| + FetchRedirectMode redirect_mode;
|
| + string client_id;
|
| + bool is_reload;
|
| + ServiceWorkerFetchType fetch_type;
|
| +};
|
| +
|
| +struct ServiceWorkerResponse {
|
| + string? url;
|
| + uint16 status_code;
|
| + string? status_text;
|
| + // blink::WebServiceWorkerResponseType response_type;
|
| + // ServiceWorkerHeaderMap headers;
|
| + string? blob_uuid;
|
| + uint64 blob_size;
|
| + string? stream_url;
|
| + // blink::WebServiceWorkerResponseError error;
|
| + // base::Time response_time;
|
| + // bool is_in_cache_storage = false;
|
| + // std::string cache_storage_cache_name;
|
| + // ServiceWorkerHeaderList cors_exposed_header_names;
|
| +};
|
| +
|
| +
|
| +interface ServiceWorkerGlobalScopeHost {
|
| + SetClient(ServiceWorkerGlobalScopeClient client);
|
| + DidHandleSimpleEvent(int32 request_id, ServiceWorkerEventStatus status);
|
| +};
|
| +
|
| +interface ServiceWorkerGlobalScopeClient {
|
| + DispatchPingEvent(string message);
|
| + DispatchFetchEvent(int32 response_id, int32 event_finish_id,
|
| + ServiceWorkerFetchRequest request)
|
| + => (bool status, ServiceWorkerResponse? response);
|
| +};
|
|
|