|
1 /* |
|
2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. |
|
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
|
4 * |
|
5 * This library is free software; you can redistribute it and/or |
|
6 * modify it under the terms of the GNU Library General Public |
|
7 * License as published by the Free Software Foundation; either |
|
8 * version 2 of the License, or (at your option) any later version. |
|
9 * |
|
10 * This library is distributed in the hope that it will be useful, |
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 * Library General Public License for more details. |
|
14 * |
|
15 * You should have received a copy of the GNU Library General Public License |
|
16 * along with this library; see the file COPYING.LIB. If not, write to |
|
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
|
18 * Boston, MA 02110-1301, USA. |
|
19 */ |
|
20 |
|
21 module core { |
|
22 |
|
23 interface [ |
|
24 CustomMarkFunction, |
|
25 GenerateNativeConverter, |
|
26 InlineGetOwnPropertySlot |
|
27 ] Element : Node { |
|
28 |
|
29 // DOM Level 1 Core |
|
30 |
|
31 readonly attribute [ConvertNullStringTo=Null] DOMString tagName; |
|
32 |
|
33 [ConvertNullStringTo=Null] DOMString getAttribute(in DOMString name); |
|
34 [OldStyleObjC] void setAttribute(in DOMString name, |
|
35 in DOMString value) |
|
36 raises(DOMException); |
|
37 void removeAttribute(in DOMString name) |
|
38 raises(DOMException); |
|
39 Attr getAttributeNode(in DOMString name); |
|
40 Attr setAttributeNode(in Attr newAttr) |
|
41 raises(DOMException); |
|
42 Attr removeAttributeNode(in Attr oldAttr) |
|
43 raises(DOMException); |
|
44 NodeList getElementsByTagName(in DOMString name); |
|
45 |
|
46 // DOM Level 2 Core |
|
47 |
|
48 [OldStyleObjC] DOMString getAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
49 in DOMString localName); |
|
50 [OldStyleObjC] void setAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
51 in DOMString qualifiedName, |
|
52 in DOMString value) |
|
53 raises(DOMException); |
|
54 [OldStyleObjC] void removeAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
55 in DOMString localName) |
|
56 raises(DOMException); |
|
57 [OldStyleObjC] NodeList getElementsByTagNameNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
58 in DOMString localName); |
|
59 [OldStyleObjC] Attr getAttributeNodeNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
60 in DOMString localName); |
|
61 Attr setAttributeNodeNS(in Attr newAttr) |
|
62 raises(DOMException); |
|
63 boolean hasAttribute(in DOMString name); |
|
64 [OldStyleObjC] boolean hasAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI, |
|
65 in DOMString localName); |
|
66 |
|
67 readonly attribute CSSStyleDeclaration style; |
|
68 |
|
69 // Common extensions |
|
70 |
|
71 readonly attribute long offsetLeft; |
|
72 readonly attribute long offsetTop; |
|
73 readonly attribute long offsetWidth; |
|
74 readonly attribute long offsetHeight; |
|
75 readonly attribute Element offsetParent; |
|
76 readonly attribute long clientLeft; |
|
77 readonly attribute long clientTop; |
|
78 readonly attribute long clientWidth; |
|
79 readonly attribute long clientHeight; |
|
80 attribute long scrollLeft; |
|
81 attribute long scrollTop; |
|
82 readonly attribute long scrollWidth; |
|
83 readonly attribute long scrollHeight; |
|
84 |
|
85 void focus(); |
|
86 void blur(); |
|
87 void scrollIntoView(in [Optional] boolean alignWithTop); |
|
88 |
|
89 // IE extensions |
|
90 |
|
91 boolean contains(in Element element); |
|
92 |
|
93 // WebKit extensions |
|
94 |
|
95 void scrollIntoViewIfNeeded(in [Optional] boolean centerIfNeeded); |
|
96 void scrollByLines(in long lines); |
|
97 void scrollByPages(in long pages); |
|
98 |
|
99 // HTML 5 |
|
100 NodeList getElementsByClassName(in DOMString name); |
|
101 |
|
102 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT |
|
103 #if !defined(V8_BINDING) || !V8_BINDING |
|
104 readonly attribute DOMStringMap dataset; |
|
105 #endif |
|
106 #endif |
|
107 |
|
108 // NodeSelector - Selector API |
|
109 Element querySelector(in DOMString selectors) |
|
110 raises(DOMException); |
|
111 NodeList querySelectorAll(in DOMString selectors) |
|
112 raises(DOMException); |
|
113 |
|
114 // WebKit extension, pending specification. |
|
115 boolean webkitMatchesSelector(in DOMString selectors) |
|
116 raises(DOMException); |
|
117 |
|
118 // ElementTraversal API |
|
119 readonly attribute Element firstElementChild; |
|
120 readonly attribute Element lastElementChild; |
|
121 readonly attribute Element previousElementSibling; |
|
122 readonly attribute Element nextElementSibling; |
|
123 readonly attribute unsigned long childElementCount; |
|
124 |
|
125 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT |
|
126 // CSSOM View Module API |
|
127 ClientRectList getClientRects(); |
|
128 ClientRect getBoundingClientRect(); |
|
129 #endif |
|
130 |
|
131 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C |
|
132 // Objective-C extensions |
|
133 readonly attribute DOMString innerText; |
|
134 #endif |
|
135 |
|
136 #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C |
|
137 // Event handler DOM attributes |
|
138 attribute [DontEnum] EventListener onabort; |
|
139 attribute [DontEnum] EventListener onblur; |
|
140 attribute [DontEnum] EventListener onchange; |
|
141 attribute [DontEnum] EventListener onclick; |
|
142 attribute [DontEnum] EventListener oncontextmenu; |
|
143 attribute [DontEnum] EventListener ondblclick; |
|
144 attribute [DontEnum] EventListener ondrag; |
|
145 attribute [DontEnum] EventListener ondragend; |
|
146 attribute [DontEnum] EventListener ondragenter; |
|
147 attribute [DontEnum] EventListener ondragleave; |
|
148 attribute [DontEnum] EventListener ondragover; |
|
149 attribute [DontEnum] EventListener ondragstart; |
|
150 attribute [DontEnum] EventListener ondrop; |
|
151 attribute [DontEnum] EventListener onerror; |
|
152 attribute [DontEnum] EventListener onfocus; |
|
153 attribute [DontEnum] EventListener oninput; |
|
154 attribute [DontEnum] EventListener oninvalid; |
|
155 attribute [DontEnum] EventListener onkeydown; |
|
156 attribute [DontEnum] EventListener onkeypress; |
|
157 attribute [DontEnum] EventListener onkeyup; |
|
158 attribute [DontEnum] EventListener onload; |
|
159 attribute [DontEnum] EventListener onmousedown; |
|
160 attribute [DontEnum] EventListener onmousemove; |
|
161 attribute [DontEnum] EventListener onmouseout; |
|
162 attribute [DontEnum] EventListener onmouseover; |
|
163 attribute [DontEnum] EventListener onmouseup; |
|
164 attribute [DontEnum] EventListener onmousewheel; |
|
165 attribute [DontEnum] EventListener onscroll; |
|
166 attribute [DontEnum] EventListener onselect; |
|
167 attribute [DontEnum] EventListener onsubmit; |
|
168 |
|
169 // attribute [DontEnum] EventListener oncanplay; |
|
170 // attribute [DontEnum] EventListener oncanplaythrough; |
|
171 // attribute [DontEnum] EventListener ondurationchange; |
|
172 // attribute [DontEnum] EventListener onemptied; |
|
173 // attribute [DontEnum] EventListener onended; |
|
174 // attribute [DontEnum] EventListener onformchange; |
|
175 // attribute [DontEnum] EventListener onforminput; |
|
176 // attribute [DontEnum] EventListener onloadeddata; |
|
177 // attribute [DontEnum] EventListener onloadedmetadata; |
|
178 // attribute [DontEnum] EventListener onloadstart; |
|
179 // attribute [DontEnum] EventListener onpause; |
|
180 // attribute [DontEnum] EventListener onplay; |
|
181 // attribute [DontEnum] EventListener onplaying; |
|
182 // attribute [DontEnum] EventListener onprogress; |
|
183 // attribute [DontEnum] EventListener onratechange; |
|
184 // attribute [DontEnum] EventListener onreadystatechange; |
|
185 // attribute [DontEnum] EventListener onseeked; |
|
186 // attribute [DontEnum] EventListener onseeking; |
|
187 // attribute [DontEnum] EventListener onshow; |
|
188 // attribute [DontEnum] EventListener onstalled; |
|
189 // attribute [DontEnum] EventListener onsuspend; |
|
190 // attribute [DontEnum] EventListener ontimeupdate; |
|
191 // attribute [DontEnum] EventListener onvolumechange; |
|
192 // attribute [DontEnum] EventListener onwaiting; |
|
193 |
|
194 // WebKit extensions |
|
195 attribute [DontEnum] EventListener onbeforecut; |
|
196 attribute [DontEnum] EventListener oncut; |
|
197 attribute [DontEnum] EventListener onbeforecopy; |
|
198 attribute [DontEnum] EventListener oncopy; |
|
199 attribute [DontEnum] EventListener onbeforepaste; |
|
200 attribute [DontEnum] EventListener onpaste; |
|
201 attribute [DontEnum] EventListener onreset; |
|
202 attribute [DontEnum] EventListener onsearch; |
|
203 attribute [DontEnum] EventListener onselectstart; |
|
204 attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchstart; |
|
205 attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchmove; |
|
206 attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend; |
|
207 attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel; |
|
208 attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart; |
|
209 attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionupdate; |
|
210 attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionend; |
|
211 #endif |
|
212 }; |
|
213 |
|
214 } |