Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 <!doctype html>
2 <meta charset=utf-8>
3 <title>XMLHttpRequest IDL tests</title>
4 <div id=log></div>
5 <script src=/resources/testharness.js></script>
6 <script src=/resources/testharnessreport.js></script>
7 <script src=/resources/WebIDLParser.js></script>
8 <script src=/resources/idlharness.js></script>
9 <script type=text/plain class=untested>
10 interface EventTarget {
11 void addEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
12 void removeEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
13 boolean dispatchEvent(Event event);
14 };
15 </script>
16 <script type=text/plain>
17 [NoInterfaceObject]
18 interface XMLHttpRequestEventTarget : EventTarget {
19 // event handlers
20 [TreatNonCallableAsNull] attribute Function? onloadstart;
21 [TreatNonCallableAsNull] attribute Function? onprogress;
22 [TreatNonCallableAsNull] attribute Function? onabort;
23 [TreatNonCallableAsNull] attribute Function? onerror;
24 [TreatNonCallableAsNull] attribute Function? onload;
25 [TreatNonCallableAsNull] attribute Function? ontimeout;
26 [TreatNonCallableAsNull] attribute Function? onloadend;
27 };
29 interface XMLHttpRequestUpload : XMLHttpRequestEventTarget {
31 };
33 /*
34 enum XMLHttpRequestResponseType {
35 "",
36 "arraybuffer",
37 "blob",
38 "document",
39 "json",
40 "text"
41 };
42 */
44 [Constructor]
45 interface XMLHttpRequest : XMLHttpRequestEventTarget {
46 // event handler
47 [TreatNonCallableAsNull] attribute Function? onreadystatechange;
49 // states
50 const unsigned short UNSENT = 0;
51 const unsigned short OPENED = 1;
52 const unsigned short HEADERS_RECEIVED = 2;
53 const unsigned short LOADING = 3;
54 const unsigned short DONE = 4;
55 readonly attribute unsigned short readyState;
57 // request
58 void open(DOMString method, DOMString url, optional boolean async/* = true*/, optional DOMString? user, optional DOMString? password);
59 void setRequestHeader(DOMString header, DOMString value);
60 attribute unsigned long timeout;
61 attribute boolean withCredentials;
62 readonly attribute XMLHttpRequestUpload upload;
63 void send(optional (ArrayBufferView or Blob or Document or DOMString or FormData)? data/* = null*/);
64 void abort();
66 // response
67 readonly attribute unsigned short status;
68 readonly attribute DOMString statusText;
69 DOMString? getResponseHeader(DOMString header);
70 DOMString getAllResponseHeaders();
71 void overrideMimeType(DOMString mime);
72 /* attribute XMLHttpRequestResponseType responseType; */
73 readonly attribute any response;
74 readonly attribute DOMString responseText;
75 readonly attribute Document? responseXML;
76 };
78 [Constructor,
79 Constructor(HTMLFormElement form)]
80 interface FormData {
81 void append(DOMString name, Blob value, optional DOMString filename);
82 void append(DOMString name, DOMString value);
83 };
84 </script>
85 <script>
86 "use strict";
87 var form = document.createElement("form");
88 var idlArray = new IdlArray();
89 [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
90 if (node.className == "untested") {
91 idlArray.add_untested_idls(node.textContent);
92 } else {
93 idlArray.add_idls(node.textContent);
94 }
95 });
96 idlArray.add_objects({
97 XMLHttpRequest: ['new XMLHttpRequest()'],
98 XMLHttpRequestUpload: ['(new XMLHttpRequest()).upload'],
99 FormData: ['new FormData()', 'new FormData(form)']
100 });
101 idlArray.test();
102 </script>