| // 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/WebKit/public/platform/referrer.mojom"; |
| import "url/mojo/url.mojom"; |
| |
| // The mode associated with a request. |
| // https://fetch.spec.whatwg.org/#concept-request-mode |
| enum FetchRequestMode { |
| SAME_ORIGIN, |
| NO_CORS, |
| CORS, |
| CORS_WITH_FORCED_PREFLIGHT, |
| NAVIGATE, |
| }; |
| |
| // Type of the context associated with a request. |
| enum RequestContextType { |
| UNSPECIFIED, |
| AUDIO, |
| BEACON, |
| CSP_REPORT, |
| DOWNLOAD, |
| EMBED, |
| EVENT_SOURCE, |
| FAVICON, |
| FETCH, |
| FONT, |
| FORM, |
| FRAME, |
| HYPERLINK, |
| IFRAME, |
| IMAGE, |
| IMAGE_SET, |
| IMPORT, |
| INTERNAL, |
| LOCATION, |
| MANIFEST, |
| OBJECT, |
| PING, |
| PLUGIN, |
| PREFETCH, |
| SCRIPT, |
| SERVICE_WORKER, |
| SHARED_WORKER, |
| SUBRESOURCE, |
| STYLE, |
| TRACK, |
| VIDEO, |
| WORKER, |
| XML_HTTP_REQUEST, |
| XSLT, |
| }; |
| |
| // Frame type of the context associated with a request. |
| enum RequestContextFrameType { |
| AUXILIARY, |
| NESTED, |
| NONE, |
| TOP_LEVEL, |
| }; |
| |
| // Credentials mode indicating which credentials should be included with a |
| // request. |
| enum FetchCredentialsMode { |
| OMIT, |
| SAME_ORIGIN, |
| INCLUDE, |
| PASSWORD, |
| }; |
| |
| // The redirect mode indicating how redirects should be handled. |
| // https://fetch.spec.whatwg.org/#concept-request-redirect-mode |
| enum FetchRedirectMode { |
| FOLLOW, |
| ERROR_MODE, |
| MANUAL, |
| }; |
| |
| // Whether this is a regular fetch, or a foreign fetch request. |
| enum ServiceWorkerFetchType { |
| FETCH, |
| FOREIGN_FETCH, |
| }; |
| |
| struct FetchAPIRequest { |
| FetchRequestMode mode; |
| bool is_main_resource_load; |
| RequestContextType request_context_type; |
| RequestContextFrameType frame_type; |
| url.mojom.Url url; |
| string method; |
| map<string, string> headers; |
| string? blob_uuid; |
| uint64 blob_size; |
| Referrer referrer; |
| FetchCredentialsMode credentials_mode; |
| FetchRedirectMode redirect_mode; |
| string? integrity; |
| string? client_id; |
| bool is_reload; |
| ServiceWorkerFetchType fetch_type; |
| }; |