OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
11 * notice, this list of conditions and the following disclaimer in the | 11 * notice, this list of conditions and the following disclaimer in the |
12 * documentation and/or other materials provided with the distribution. | 12 * documentation and/or other materials provided with the distribution. |
13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of | 13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of |
14 * its contributors may be used to endorse or promote products derived | 14 * its contributors may be used to endorse or promote products derived |
15 * from this software without specific prior written permission. | 15 * from this software without specific prior written permission. |
16 * | 16 * |
17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | 17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | 20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 | 28 |
| 29 // https://xhr.spec.whatwg.org/#interface-xmlhttprequest |
| 30 |
29 enum XMLHttpRequestResponseType { | 31 enum XMLHttpRequestResponseType { |
30 "", | 32 "", |
31 "arraybuffer", | 33 "arraybuffer", |
32 "blob", | 34 "blob", |
33 "document", | 35 "document", |
34 "json", | 36 "json", |
35 "text", | 37 "text", |
36 "legacystream", | 38 "legacystream", |
37 "stream" | |
38 }; | 39 }; |
39 | 40 |
| 41 // TODO(philipj): Most DOMString types in the XMLHttpRequest interface should be |
| 42 // either ByteString or USVString. |
40 [ | 43 [ |
41 WillBeGarbageCollected, | |
42 ActiveDOMObject, | 44 ActiveDOMObject, |
43 CustomConstructor(optional XMLHttpRequestOptions options), | 45 Constructor, |
| 46 ConstructorCallWith=ScriptState, |
| 47 // TODO(philipj): The spec has Exposed=(Window,Worker) |
| 48 // https://github.com/whatwg/xhr/issues/19 |
44 Exposed=(Window,DedicatedWorker,SharedWorker) | 49 Exposed=(Window,DedicatedWorker,SharedWorker) |
45 ] interface XMLHttpRequest : XMLHttpRequestEventTarget { | 50 ] interface XMLHttpRequest : XMLHttpRequestEventTarget { |
46 // event handler attributes | 51 // event handler |
47 attribute EventHandler onreadystatechange; | 52 attribute EventHandler onreadystatechange; |
48 | 53 |
49 // state | 54 // states |
50 const unsigned short UNSENT = 0; | 55 const unsigned short UNSENT = 0; |
51 const unsigned short OPENED = 1; | 56 const unsigned short OPENED = 1; |
52 const unsigned short HEADERS_RECEIVED = 2; | 57 const unsigned short HEADERS_RECEIVED = 2; |
53 const unsigned short LOADING = 3; | 58 const unsigned short LOADING = 3; |
54 const unsigned short DONE = 4; | 59 const unsigned short DONE = 4; |
55 | |
56 [RaisesException=Setter] attribute unsigned long timeout; | |
57 readonly attribute unsigned short readyState; | 60 readonly attribute unsigned short readyState; |
58 | 61 |
| 62 // request |
| 63 [RaisesException] void open(DOMString method, DOMString url); |
| 64 [RaisesException] void open(DOMString method, DOMString url, boolean async,
optional DOMString? username = null, optional DOMString? password = null); |
| 65 [RaisesException] void setRequestHeader(DOMString name, DOMString value); |
| 66 [RaisesException=Setter] attribute unsigned long timeout; |
59 [RaisesException=Setter] attribute boolean withCredentials; | 67 [RaisesException=Setter] attribute boolean withCredentials; |
60 | 68 readonly attribute XMLHttpRequestUpload upload; |
61 [Custom, RaisesException] void open(DOMString method, DOMString url, optiona
l boolean async, optional DOMString user, optional DOMString password); | 69 // TODO(philipj): The data argument should be of type |
62 | 70 // (Document or BodyInit)? |
63 [RaisesException] void setRequestHeader(DOMString header, DOMString value); | 71 [RaisesException] void send(optional (ArrayBuffer or ArrayBufferView or Blob
or Document or DOMString or FormData)? body = null); |
64 | |
65 [Custom, RaisesException] void send(); | |
66 // FIXMEDART: send(ArrayBuffer data) should be eventually deprecated. | |
67 [DartCustom=New] void send(ArrayBuffer data); | |
68 [DartCustom=New] void send(ArrayBufferView data); | |
69 [DartCustom=New] void send(Blob data); | |
70 [DartCustom=New] void send(Document data); | |
71 [DartCustom=New] void send(DOMString data); | |
72 [DartCustom=New] void send(FormData data); | |
73 | |
74 void abort(); | 72 void abort(); |
75 | 73 |
76 readonly attribute XMLHttpRequestUpload upload; | |
77 | |
78 // response | 74 // response |
79 [TreatReturnedNullStringAs=Undefined] DOMString getAllResponseHeaders(); | |
80 DOMString? getResponseHeader(DOMString header); | |
81 [Custom=Getter, RaisesException=Getter] readonly attribute DOMString? respon
seText; | |
82 [RaisesException=Getter] readonly attribute Document responseXML; | |
83 | |
84 [RaisesException=Setter] attribute XMLHttpRequestResponseType responseType; | |
85 [Custom=Getter, RaisesException=Getter] readonly attribute object response; | |
86 readonly attribute DOMString responseURL; | 75 readonly attribute DOMString responseURL; |
87 | |
88 readonly attribute unsigned short status; | 76 readonly attribute unsigned short status; |
89 readonly attribute DOMString statusText; | 77 readonly attribute DOMString statusText; |
90 | 78 DOMString? getResponseHeader(DOMString name); |
91 // Extension | 79 DOMString getAllResponseHeaders(); |
92 [RaisesException] void overrideMimeType(DOMString override); | 80 [RaisesException] void overrideMimeType(DOMString mime); |
| 81 [RaisesException=Setter] attribute XMLHttpRequestResponseType responseType; |
| 82 [Custom=Getter, RaisesException=Getter] readonly attribute any response; |
| 83 [Custom=Getter, RaisesException=Getter] readonly attribute DOMString respons
eText; |
| 84 // TODO(philipj): responseXML should be [Exposed=Window]. |
| 85 [RaisesException=Getter] readonly attribute Document? responseXML; |
93 }; | 86 }; |
OLD | NEW |