blob: 0908a63575dadd10184806ba7466cc93d88ed2b1 [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.
// http://fetch.spec.whatwg.org/#body
typedef object JSON;
[
ActiveScriptWrappable,
DependentLifetime,
Exposed=ServiceWorker,
NoInterfaceObject,
] interface Body {
readonly attribute boolean bodyUsed;
[CallWith=ScriptState] Promise<ArrayBuffer> arrayBuffer();
[CallWith=ScriptState] Promise<Blob> blob();
[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;
// Still to be implemented.
// [CallWith=ScriptState] Promise<FormData> formData();
};