OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. |
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 * Library General Public License for more details. | 13 * Library General Public License for more details. |
14 * | 14 * |
15 * You should have received a copy of the GNU Library General Public License | 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 | 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, | 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 * Boston, MA 02110-1301, USA. | 18 * Boston, MA 02110-1301, USA. |
19 */ | 19 */ |
20 | 20 |
21 [ | 21 [ |
22 SpecialWrapFor=HTMLElement|SVGElement | 22 SpecialWrapFor=HTMLElement|SVGElement |
23 ] interface Element : Node { | 23 ] interface Element : Node { |
24 | 24 |
25 // DOM Level 1 Core | 25 // DOM Level 1 Core |
26 | 26 |
27 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing tagName; | 27 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing tagName; |
28 | 28 |
29 [TreatReturnedNullStringAs=Null] DOMString getAttribute([Default=Undefined]
optional DOMString name); | 29 [TreatReturnedNullStringAs=Null] DOMString getAttribute(DOMString name); |
30 [RaisesException, CustomElementCallbacks] void setAttribute([Default=Undefin
ed] optional DOMString name, [Default=Undefined] optional DOMString value); | 30 [RaisesException, CustomElementCallbacks] void setAttribute(DOMString name,
DOMString value); |
31 [CustomElementCallbacks] void removeAttribute([Default=Undefined] optional D
OMString name); | 31 [CustomElementCallbacks] void removeAttribute(DOMString name); |
32 [MeasureAs=ElementGetAttributeNode] Attr getAttributeNode([Default=Undefined
] optional DOMString name); // Removed from DOM4. | 32 [MeasureAs=ElementGetAttributeNode] Attr getAttributeNode([Default=Undefined
] optional DOMString name); // Removed from DOM4. |
33 [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNode]
Attr setAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr new
Attr); // Removed from DOM4. | 33 [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNode]
Attr setAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr new
Attr); // Removed from DOM4. |
34 [RaisesException, CustomElementCallbacks, MeasureAs=ElementRemoveAttributeNo
de] Attr removeAttributeNode([Default=Undefined, StrictTypeChecking] optional At
tr oldAttr); // Removed from DOM4. | 34 [RaisesException, CustomElementCallbacks, MeasureAs=ElementRemoveAttributeNo
de] Attr removeAttributeNode([Default=Undefined, StrictTypeChecking] optional At
tr oldAttr); // Removed from DOM4. |
35 [PerWorldBindings] NodeList getElementsByTagName([Default=Undefined] optiona
l DOMString name); | 35 [PerWorldBindings] NodeList getElementsByTagName(DOMString name); |
36 | 36 |
37 [PerWorldBindings] readonly attribute NamedNodeMap attributes; | 37 [PerWorldBindings] readonly attribute NamedNodeMap attributes; |
38 [MeasureAs=HasAttributes] boolean hasAttributes(); | 38 [MeasureAs=HasAttributes] boolean hasAttributes(); |
39 | 39 |
40 // DOM Level 2 Core | 40 // DOM Level 2 Core |
41 | 41 |
42 DOMString getAttributeNS([TreatNullAs=NullString,Default=Undefined] optional
DOMString namespaceURI, | 42 DOMString getAttributeNS([TreatNullAs=NullString] DOMString namespaceURI, DO
MString localName); |
43 [Default=Undefined] optional DOMString localName); | 43 [RaisesException, CustomElementCallbacks] void setAttributeNS([TreatNullAs=N
ullString] DOMString namespaceURI, DOMString qualifiedName, DOMString value); |
44 [RaisesException, CustomElementCallbacks] void setAttributeNS([TreatNullAs=N
ullString,Default=Undefined] optional DOMString namespaceURI, | |
45 [Default=Undef
ined] optional DOMString qualifiedName, | |
46 [Default=Undef
ined] optional DOMString value); | |
47 [CustomElementCallbacks] void removeAttributeNS([TreatNullAs=NullString] DOM
String namespaceURI, DOMString localName); | 44 [CustomElementCallbacks] void removeAttributeNS([TreatNullAs=NullString] DOM
String namespaceURI, DOMString localName); |
48 NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] o
ptional DOMString namespaceURI, | 45 NodeList getElementsByTagNameNS([TreatNullAs=NullString] DOMString namespace
URI, DOMString localName); |
49 [Default=Undefined] optional DOMString local
Name); | |
50 [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS([TreatNullAs=N
ullString,Default=Undefined] optional DOMString namespaceURI, | 46 [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS([TreatNullAs=N
ullString,Default=Undefined] optional DOMString namespaceURI, |
51 [Default=Undef
ined] optional DOMString localName); // Removed from DOM4. | 47 [Default=Undef
ined] optional DOMString localName); // Removed from DOM4. |
52 [RaisesException, CustomElementCallbacks] Attr setAttributeNodeNS([Default=U
ndefined, StrictTypeChecking] optional Attr newAttr); | 48 [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNodeN
S] Attr setAttributeNodeNS([Default=Undefined, StrictTypeChecking] optional Attr
newAttr); // Removed from DOM4. |
53 boolean hasAttribute(DOMString name); | 49 boolean hasAttribute(DOMString name); |
54 boolean hasAttributeNS([TreatNullAs=NullString,Default=Undefined] optional D
OMString namespaceURI, | 50 boolean hasAttributeNS([TreatNullAs=NullString] DOMString namespaceURI, DOMS
tring localName); |
55 [Default=Undefined] optional DOMString localName); | |
56 | 51 |
57 [PerWorldBindings] readonly attribute CSSStyleDeclaration style; | 52 [PerWorldBindings] readonly attribute CSSStyleDeclaration style; |
58 | 53 |
59 // DOM4 | 54 // DOM4 |
60 // iht.com relies on id returning the empty string when no id is present. | 55 [Reflect] attribute DOMString id; |
61 // Other browsers do this as well. So we don't convert null to JS null. | |
62 [Reflect, TreatNullAs=NullString] attribute DOMString id; | |
63 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing namespaceURI; | 56 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing namespaceURI; |
64 [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, S
etterRaisesException] attribute DOMString prefix; | 57 [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, R
aisesException=Setter] attribute DOMString prefix; |
65 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing localName; | 58 [TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMStr
ing localName; |
66 | 59 |
67 // Common extensions | 60 // Common extensions |
68 | 61 |
69 [PerWorldBindings] readonly attribute long offsetLeft; | 62 [PerWorldBindings] readonly attribute long offsetLeft; |
70 [PerWorldBindings] readonly attribute long offsetTop; | 63 [PerWorldBindings] readonly attribute long offsetTop; |
71 [PerWorldBindings] readonly attribute long offsetWidth; | 64 [PerWorldBindings] readonly attribute long offsetWidth; |
72 [PerWorldBindings] readonly attribute long offsetHeight; | 65 [PerWorldBindings] readonly attribute long offsetHeight; |
73 [ImplementedAs=bindingsOffsetParent, PerWorldBindings] readonly attribute El
ement offsetParent; | 66 [ImplementedAs=bindingsOffsetParent, PerWorldBindings] readonly attribute El
ement offsetParent; |
74 [PerWorldBindings] readonly attribute long clientLeft; | 67 [PerWorldBindings] readonly attribute long clientLeft; |
75 [PerWorldBindings] readonly attribute long clientTop; | 68 [PerWorldBindings] readonly attribute long clientTop; |
76 [PerWorldBindings] readonly attribute long clientWidth; | 69 [PerWorldBindings] readonly attribute long clientWidth; |
77 [PerWorldBindings] readonly attribute long clientHeight; | 70 [PerWorldBindings] readonly attribute long clientHeight; |
78 [PerWorldBindings] attribute long scrollLeft; | 71 [PerWorldBindings] attribute long scrollLeft; |
79 [PerWorldBindings] attribute long scrollTop; | 72 [PerWorldBindings] attribute long scrollTop; |
80 [PerWorldBindings] readonly attribute long scrollWidth; | 73 [PerWorldBindings] readonly attribute long scrollWidth; |
81 [PerWorldBindings] readonly attribute long scrollHeight; | 74 [PerWorldBindings] readonly attribute long scrollHeight; |
82 | 75 |
83 void focus(); | 76 void focus(); |
84 void blur(); | 77 void blur(); |
85 void scrollIntoView(optional boolean alignWithTop); | 78 void scrollIntoView(optional boolean alignWithTop); |
86 | 79 |
87 // WebKit extensions | 80 // WebKit extensions |
88 | 81 |
89 void scrollIntoViewIfNeeded(optional boolean centerIfNeeded); | 82 void scrollIntoViewIfNeeded(optional boolean centerIfNeeded); |
90 void scrollByLines([Default=Undefined] optional long lines); | 83 void scrollByLines([Default=Undefined] optional long lines); |
91 void scrollByPages([Default=Undefined] optional long pages); | 84 void scrollByPages([Default=Undefined] optional long pages); |
92 | 85 |
93 // HTML 5 | 86 // HTML 5 |
94 NodeList getElementsByClassName([Default=Undefined] optional DOMString name)
; | 87 NodeList getElementsByClassName(DOMString classNames); |
95 [TreatNullAs=NullString, CustomElementCallbacks, PerWorldBindings, ActivityL
ogging=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString inner
HTML; | 88 [TreatNullAs=NullString, CustomElementCallbacks, PerWorldBindings, ActivityL
ogging=SetterForIsolatedWorlds, RaisesException=Setter] attribute DOMString inne
rHTML; |
96 [TreatNullAs=NullString, CustomElementCallbacks, SetterRaisesException] attr
ibute DOMString outerHTML; | 89 [TreatNullAs=NullString, CustomElementCallbacks, RaisesException=Setter] att
ribute DOMString outerHTML; |
| 90 [CustomElementCallbacks, RaisesException] void insertAdjacentHTML(DOMString
where, DOMString html); |
97 | 91 |
98 [Reflect=class, TreatNullAs=NullString, PerWorldBindings] attribute DOMStrin
g className; | 92 [Reflect=class, PerWorldBindings] attribute DOMString className; |
99 [PerWorldBindings] readonly attribute DOMTokenList classList; | 93 [PerWorldBindings] readonly attribute DOMTokenList classList; |
100 | 94 |
101 [PerWorldBindings] readonly attribute DOMStringMap dataset; | 95 [PerWorldBindings] readonly attribute DOMStringMap dataset; |
102 | 96 |
103 // NodeSelector - Selector API | 97 // NodeSelector - Selector API |
104 [RaisesException] Element querySelector(DOMString selectors); | 98 [RaisesException] Element querySelector(DOMString selectors); |
105 [RaisesException] NodeList querySelectorAll(DOMString selectors); | 99 [RaisesException] NodeList querySelectorAll(DOMString selectors); |
106 | 100 |
107 // WebKit extension, pending specification. | 101 // WebKit extension |
108 [RaisesException] boolean webkitMatchesSelector([Default=Undefined] optional
DOMString selectors); | 102 [RaisesException, MeasureAs=ElementPrefixedMatchesSelector] boolean webkitMa
tchesSelector([Default=Undefined] optional DOMString selectors); |
109 | 103 |
110 // Shadow DOM API | 104 // Shadow DOM API |
111 [RuntimeEnabled=ShadowDOM, Reflect, TreatNullAs=NullString, PerWorldBindings
] attribute DOMString pseudo; | 105 [RuntimeEnabled=ShadowDOM, Reflect, TreatNullAs=NullString, PerWorldBindings
] attribute DOMString pseudo; |
112 [RuntimeEnabled=ShadowDOM, RaisesException] ShadowRoot createShadowRoot(); | 106 [RuntimeEnabled=ShadowDOM, RaisesException] ShadowRoot createShadowRoot(); |
113 [RuntimeEnabled=ShadowDOM, PerWorldBindings] readonly attribute ShadowRoot s
hadowRoot; | 107 [RuntimeEnabled=ShadowDOM, PerWorldBindings] readonly attribute ShadowRoot s
hadowRoot; |
114 [RuntimeEnabled=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertio
nPoints(); | 108 [RuntimeEnabled=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertio
nPoints(); |
115 | 109 |
116 // To-be-deprecated prefixed Shadow DOM API | 110 // To-be-deprecated prefixed Shadow DOM API |
117 [Reflect=pseudo, TreatNullAs=NullString, ImplementedAs=pseudo, PerWorldBindi
ngs, MeasureAs=ShadowDOMPrefixedPseudo] attribute DOMString webkitPseudo; | 111 [Reflect=pseudo, TreatNullAs=NullString, ImplementedAs=pseudo, PerWorldBindi
ngs, MeasureAs=ShadowDOMPrefixedPseudo] attribute DOMString webkitPseudo; |
118 [ImplementedAs=createShadowRoot, RaisesException, MeasureAs=ShadowDOMPrefixe
dCreateShadowRoot] ShadowRoot webkitCreateShadowRoot(); | 112 [ImplementedAs=createShadowRoot, RaisesException, MeasureAs=ShadowDOMPrefixe
dCreateShadowRoot] ShadowRoot webkitCreateShadowRoot(); |
119 [ImplementedAs=shadowRoot, PerWorldBindings, MeasureAs=ShadowDOMPrefixedShad
owRoot] readonly attribute ShadowRoot webkitShadowRoot; | 113 [ImplementedAs=shadowRoot, PerWorldBindings, MeasureAs=ShadowDOMPrefixedShad
owRoot] readonly attribute ShadowRoot webkitShadowRoot; |
120 | 114 |
121 // CSSOM View Module API | 115 // CSSOM View Module API |
122 ClientRectList getClientRects(); | 116 ClientRectList getClientRects(); |
123 ClientRect getBoundingClientRect(); | 117 ClientRect getBoundingClientRect(); |
124 | 118 |
125 // Mozilla version | 119 // Mozilla version |
126 const unsigned short ALLOW_KEYBOARD_INPUT = 1; | 120 const unsigned short ALLOW_KEYBOARD_INPUT = 1; |
127 [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=AccessForAllWo
rlds, MeasureAs=PrefixedElementRequestFullScreen] void webkitRequestFullScreen([
Default=Undefined] optional unsigned short flags); | 121 [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=ForAllWorlds,
MeasureAs=PrefixedElementRequestFullScreen] void webkitRequestFullScreen([Defaul
t=Undefined] optional unsigned short flags); |
128 | 122 |
129 // W3C version | 123 // W3C version |
130 [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=AccessForAllWo
rlds, MeasureAs=PrefixedElementRequestFullscreen] void webkitRequestFullscreen()
; | 124 [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=ForAllWorlds,
MeasureAs=PrefixedElementRequestFullscreen] void webkitRequestFullscreen(); |
131 | 125 |
132 void webkitRequestPointerLock(); | 126 void webkitRequestPointerLock(); |
133 | 127 |
134 // CSS Regions API | 128 // CSS Regions API |
135 [RuntimeEnabled=CSSRegions, PerWorldBindings] readonly attribute DOMString w
ebkitRegionOverset; | 129 [RuntimeEnabled=CSSRegions, PerWorldBindings] readonly attribute DOMString w
ebkitRegionOverset; |
136 [RuntimeEnabled=CSSRegions] sequence<Range> webkitGetRegionFlowRanges(); | 130 [RuntimeEnabled=CSSRegions] sequence<Range> webkitGetRegionFlowRanges(); |
137 | 131 |
138 // Event handler attributes | 132 // Event handler attributes |
139 attribute EventHandler onbeforecopy; | 133 attribute EventHandler onbeforecopy; |
140 attribute EventHandler onbeforecut; | 134 attribute EventHandler onbeforecut; |
141 attribute EventHandler onbeforepaste; | 135 attribute EventHandler onbeforepaste; |
142 attribute EventHandler oncopy; | 136 attribute EventHandler oncopy; |
143 attribute EventHandler oncut; | 137 attribute EventHandler oncut; |
144 attribute EventHandler onpaste; | 138 attribute EventHandler onpaste; |
145 attribute EventHandler onsearch; | 139 attribute EventHandler onsearch; |
146 attribute EventHandler onselectstart; | 140 attribute EventHandler onselectstart; |
147 [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel; | 141 [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel; |
148 [RuntimeEnabled=Touch] attribute EventHandler ontouchend; | 142 [RuntimeEnabled=Touch] attribute EventHandler ontouchend; |
149 [RuntimeEnabled=Touch] attribute EventHandler ontouchmove; | 143 [RuntimeEnabled=Touch] attribute EventHandler ontouchmove; |
150 [RuntimeEnabled=Touch] attribute EventHandler ontouchstart; | 144 [RuntimeEnabled=Touch] attribute EventHandler ontouchstart; |
151 attribute EventHandler onwebkitfullscreenchange; | 145 attribute EventHandler onwebkitfullscreenchange; |
152 attribute EventHandler onwebkitfullscreenerror; | 146 attribute EventHandler onwebkitfullscreenerror; |
153 [ActivityLogging=SetterForAllWorlds] attribute EventHandler onwheel; | 147 [PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute EventH
andler onwheel; |
154 }; | 148 }; |
155 | 149 |
156 Element implements ParentNode; | 150 Element implements ParentNode; |
157 Element implements ChildNode; | 151 Element implements ChildNode; |
OLD | NEW |