blob: 6ed159b31182b7c852e59d237b62d9dcd6ec0605 [file] [log] [blame]
// Copyright 2014 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.
// https://fetch.spec.whatwg.org/#body
[
ActiveScriptWrappable,
DependentLifetime,
Exposed=ServiceWorker,
NoInterfaceObject,
] interface Body {
readonly attribute boolean bodyUsed;
[CallWith=ScriptState] Promise<ArrayBuffer> arrayBuffer();
[CallWith=ScriptState] Promise<Blob> blob();
[CallWith=ScriptState] Promise<FormData> formData();
[CallWith=ScriptState] Promise<JSON> json();
[CallWith=ScriptState] Promise<USVString> text();
// body attribute is defined in sub-interfaces, because the IDL processor
// cannot deal with attribute inheritance with runtime enabled flag.
// [RuntimeEnabled=ExperimentalStream] readonly attribute ReadableByteStream body;
};