Generated should not be supported for things with a shadow
[WebKit-https.git] / Source / WebCore / xml / XMLHttpRequest.idl
1 /*
2  * Copyright (C) 2008, 2011 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer.
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution.
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
15  *     from this software without specific prior written permission.
16  *
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
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
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 [
30     ActiveDOMObject,
31     Constructor,
32     CallWith=ScriptExecutionContext,
33     V8CustomConstructor,
34     JSCustomMarkFunction,
35     EventTarget,
36     JSNoStaticTables
37 ] interface XMLHttpRequest {
38     // From XMLHttpRequestEventTarget
39     // event handler attributes
40     attribute EventListener onabort;
41     attribute EventListener onerror;
42     attribute EventListener onload;
43     attribute EventListener onloadend;
44     attribute EventListener onloadstart;
45     attribute EventListener onprogress;
46     [Conditional=XHR_TIMEOUT] attribute EventListener ontimeout;
47
48     // event handler attributes
49     attribute EventListener onreadystatechange;
50
51     // state
52     const unsigned short UNSENT = 0;
53     const unsigned short OPENED = 1;
54     const unsigned short HEADERS_RECEIVED = 2;
55     const unsigned short LOADING = 3;
56     const unsigned short DONE = 4;
57
58     [Conditional=XHR_TIMEOUT] attribute unsigned long timeout
59         setter raises(DOMException);
60     readonly attribute unsigned short readyState;
61
62     attribute boolean withCredentials
63         setter raises(DOMException);
64
65     [Custom] void open(in DOMString method, in DOMString url, in [Optional] boolean async, in [Optional] DOMString user, in [Optional] DOMString password)
66         raises(DOMException);
67
68     void setRequestHeader(in DOMString header, in DOMString value)
69         raises(DOMException);
70
71     [Custom] void send()
72         raises(DOMException);
73     [Custom] void send(in ArrayBuffer data) // FIXME: this should be eventually deprecated.
74         raises(DOMException);
75     [Custom] void send(in ArrayBufferView data)
76         raises(DOMException);
77     [Conditional=BLOB, Custom] void send(in Blob data)
78         raises(DOMException);
79     [Custom] void send(in Document data)
80         raises(DOMException);
81     [Custom] void send(in [StrictTypeChecking] DOMString data)
82         raises(DOMException);
83     [Custom] void send(in DOMFormData data)
84         raises(DOMException);
85
86     void abort();
87
88     readonly attribute XMLHttpRequestUpload upload;
89
90     // response
91     [TreatReturnedNullStringAs=Undefined] DOMString getAllResponseHeaders()
92         raises(DOMException);
93     [TreatReturnedNullStringAs=Null] DOMString getResponseHeader(in DOMString header)
94         raises(DOMException);
95     [CustomGetter] readonly attribute DOMString responseText // The custom getter implements TreatReturnedNullStringAs=Null
96         getter raises(DOMException);
97     readonly attribute Document responseXML
98         getter raises(DOMException);
99
100     attribute DOMString responseType
101         setter raises(DOMException);
102     [CustomGetter] readonly attribute Object response
103         getter raises(DOMException);
104
105     readonly attribute unsigned short status
106         getter raises(DOMException);
107     readonly attribute DOMString statusText
108         getter raises(DOMException);
109
110     // Extension
111     void overrideMimeType(in DOMString override);
112
113     // EventTarget interface
114     void addEventListener(in DOMString type, 
115                           in EventListener listener, 
116                           in [Optional] boolean useCapture);
117     void removeEventListener(in DOMString type, 
118                              in EventListener listener, 
119                              in [Optional] boolean useCapture);
120     boolean dispatchEvent(in Event evt)
121         raises(EventException);
122 };