aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_bindings/webidls/XMLHttpRequest.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'components/script_bindings/webidls/XMLHttpRequest.webidl')
-rw-r--r--components/script_bindings/webidls/XMLHttpRequest.webidl77
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;
+};