blob: 7e7a0b3794d07468ab069049b6e6136125e26ae2 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://fetch.spec.whatwg.org/#requestinit
// NOTE: Upon adding or removing any dictionary members here you must update
// the AreAnyMembersPresent function in request.cc.
dictionary RequestInit {
ByteString method;
HeadersInit headers;
// TODO(domfarolino): this should be of type BodyInit? when the IDL
// compiler can handle it.
any body;
USVString referrer;
ReferrerPolicy referrerPolicy;
RequestMode mode;
RequestCredentials credentials;
RequestCache cache;
RequestRedirect redirect;
DOMString integrity;
boolean keepalive;
FetchPriority priority;
[RuntimeEnabled=TopicsAPI, Exposed=Window] boolean browsingTopics;
[RuntimeEnabled=AdInterestGroupAPI, Exposed=Window] boolean adAuctionHeaders;
[RuntimeEnabled=SharedStorageAPIM118, Exposed=Window] boolean sharedStorageWritable;
AbortSignal? signal;
[RuntimeEnabled=FetchUploadStreaming] RequestDuplex duplex;
[RuntimeEnabled=PrivateNetworkAccessPermissionPrompt] IPAddressSpace targetAddressSpace;
// Even though Private Token and Attribution Reporting operations are only
// available in secure contexts, this has to be enforced after the fact
// because the SecureContext IDL attribute doesn't affect dictionary members.
[RuntimeEnabled=PrivateStateTokens] PrivateToken privateToken;
[RuntimeEnabled=AttributionReportingInterface] AttributionReportingRequestOptions attributionReporting;
// TODO(domfarolino): add support for RequestInit window member.
//any window; // can only be set to null
};