diff options
Diffstat (limited to 'components/script_bindings/webidls/XMLHttpRequest.webidl')
-rw-r--r-- | components/script_bindings/webidls/XMLHttpRequest.webidl | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/components/script_bindings/webidls/XMLHttpRequest.webidl b/components/script_bindings/webidls/XMLHttpRequest.webidl new file mode 100644 index 00000000000..c7225cff112 --- /dev/null +++ b/components/script_bindings/webidls/XMLHttpRequest.webidl @@ -0,0 +1,77 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +/* + * The origin of this IDL file is + * https://xhr.spec.whatwg.org/#interface-xmlhttprequest + * + * To the extent possible under law, the editor has waived all copyright + * and related or neighboring rights to this work. In addition, as of 1 May 2014, + * the editor has made this specification available under the Open Web Foundation + * Agreement Version 1.0, which is available at + * http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0. + */ + +// https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit +typedef (Blob or BufferSource or FormData or DOMString or URLSearchParams) XMLHttpRequestBodyInit; + +// https://fetch.spec.whatwg.org/#bodyinit +typedef (ReadableStream or XMLHttpRequestBodyInit) BodyInit; + +enum XMLHttpRequestResponseType { + "", + "arraybuffer", + "blob", + "document", + "json", + "text", +}; + +[Exposed=(Window,Worker)] +interface XMLHttpRequest : XMLHttpRequestEventTarget { + [Throws] constructor(); + // event handler + attribute EventHandler onreadystatechange; + + // states + const unsigned short UNSENT = 0; + const unsigned short OPENED = 1; + const unsigned short HEADERS_RECEIVED = 2; + const unsigned short LOADING = 3; + const unsigned short DONE = 4; + readonly attribute unsigned short readyState; + + // request + [Throws] + undefined open(ByteString method, USVString url); + [Throws] + undefined open(ByteString method, USVString url, boolean async, + optional USVString? username = null, + optional USVString? password = null); + + [Throws] + undefined setRequestHeader(ByteString name, ByteString value); + [SetterThrows] + attribute unsigned long timeout; + [SetterThrows] + attribute boolean withCredentials; + readonly attribute XMLHttpRequestUpload upload; + [Throws] + undefined send(optional (Document or XMLHttpRequestBodyInit)? data = null); + undefined abort(); + + // response + readonly attribute USVString responseURL; + readonly attribute unsigned short status; + readonly attribute ByteString statusText; + ByteString? getResponseHeader(ByteString name); + ByteString getAllResponseHeaders(); + [Throws] + undefined overrideMimeType(DOMString mime); + [SetterThrows] + attribute XMLHttpRequestResponseType responseType; + readonly attribute any response; + [Throws] + readonly attribute USVString responseText; + [Throws, Exposed=Window] readonly attribute Document? responseXML; +}; |