[GTK] Move GObject DOM bindings to WebKit2 layer and stop auto generating them
[WebKit-https.git] / Source / WebCore / dom / Element.idl
1 /*
2  * Copyright (C) 2006, 2007, 2009, 2015 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 [
22     CustomToJSObject,
23     JSCustomHeader,
24     JSGenerateToNativeObject,
25     ExportMacro=WEBCORE_EXPORT,
26 ] interface Element : Node {
27     readonly attribute DOMString? tagName;
28
29     DOMString? getAttribute(DOMString name);
30
31     [RaisesException, CEReactions] void setAttribute(DOMString name, DOMString value);
32
33     [CEReactions] void removeAttribute(DOMString name);
34     Attr? getAttributeNode(DOMString name);
35
36     [RaisesException, CEReactions] Attr? setAttributeNode(Attr newAttr);
37     [RaisesException, CEReactions] Attr removeAttributeNode(Attr oldAttr);
38
39     HTMLCollection getElementsByTagName(DOMString name);
40
41     readonly attribute NamedNodeMap attributes;
42     boolean hasAttributes();
43
44     DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
45
46     [RaisesException, CEReactions] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
47     [CEReactions] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
48
49     HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
50
51     Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
52     [RaisesException, CEReactions] Attr? setAttributeNodeNS(Attr newAttr);
53     boolean hasAttribute(DOMString name);
54
55     boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
56
57     [ImplementedAs=cssomStyle] readonly attribute CSSStyleDeclaration style;
58
59     [Reflect] attribute DOMString id;
60
61     readonly attribute DOMString? namespaceURI;
62     readonly attribute DOMString? prefix;
63     readonly attribute DOMString localName;
64
65     readonly attribute double offsetLeft;
66     readonly attribute double offsetTop;
67     readonly attribute double offsetWidth;
68     readonly attribute double offsetHeight;
69     readonly attribute double clientLeft;
70     readonly attribute double clientTop;
71     readonly attribute double clientWidth;
72     readonly attribute double clientHeight;
73
74     attribute long scrollLeft;
75     attribute long scrollTop;
76     readonly attribute long scrollWidth;
77     readonly attribute long scrollHeight;
78
79     [ImplementedAs=bindingsOffsetParent] readonly attribute Element offsetParent;
80
81     void scrollIntoView(optional boolean alignWithTop = true);
82
83     sequence<DOMString> getAttributeNames();
84
85     void scrollIntoViewIfNeeded(optional boolean centerIfNeeded = true);
86     void scrollByLines(optional long lines = 0);
87     void scrollByPages(optional long pages = 0);
88
89     HTMLCollection getElementsByClassName(DOMString name);
90     [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString innerHTML;
91     [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString outerHTML;
92
93     [Reflect=class] attribute DOMString className;
94     [PutForwards=value] readonly attribute DOMTokenList classList;
95
96     [RaisesException] boolean matches(DOMString selectors);
97     [RaisesException] Element closest(DOMString selectors);    
98     [ImplementedAs=matches, RaisesException] boolean webkitMatchesSelector(DOMString selectors);
99
100     // CSSOM View Module API
101     ClientRectList getClientRects();
102     ClientRect getBoundingClientRect();
103
104 #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
105     // Mozilla version
106     const unsigned short ALLOW_KEYBOARD_INPUT = 1;
107     void webkitRequestFullScreen(optional unsigned short flags = 0);
108
109     // W3C version
110     void webkitRequestFullscreen();
111 #endif
112
113 #if defined(ENABLE_INDIE_UI) && ENABLE_INDIE_UI
114     [Reflect] attribute DOMString uiactions;
115 #endif
116
117     [RaisesException] Element insertAdjacentElement(DOMString where, Element element);
118     [RaisesException] void insertAdjacentHTML(DOMString where, DOMString html);
119     [RaisesException] void insertAdjacentText(DOMString where, DOMString text);
120
121     [Conditional=POINTER_LOCK] void requestPointerLock();
122
123     // CSS Regions API
124     [Conditional=CSS_REGIONS] readonly attribute DOMString webkitRegionOverset;
125     [Conditional=CSS_REGIONS] sequence<Range> webkitGetRegionFlowRanges();
126
127     // Shadow DOM API
128     [EnabledAtRuntime=ShadowDOM, RaisesException] ShadowRoot attachShadow(ShadowRootInit init);
129     [EnabledAtRuntime=ShadowDOM, ImplementedAs=shadowRootForBindings, CallWith=ScriptState] readonly attribute ShadowRoot shadowRoot;
130     [EnabledAtRuntime=ShadowDOM, Reflect] attribute DOMString slot;
131
132     // Event Handlers
133
134     // Unique to Element and Document
135     // FIXME: Should these be exposed on Window as well (and therefore moved to GlobalEventHandlers.idl)?
136     [NotEnumerable] attribute EventHandler onbeforecopy;
137     [NotEnumerable] attribute EventHandler onbeforecut;
138     [NotEnumerable] attribute EventHandler onbeforepaste;
139     [NotEnumerable] attribute EventHandler oncopy;
140     [NotEnumerable] attribute EventHandler oncut;
141     [NotEnumerable] attribute EventHandler onpaste;
142     [NotEnumerable] attribute EventHandler onselectstart;
143     [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange;
144     [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror;
145
146     // Unique to Element and DOMWindow
147     // FIXME: Should these be exposed on Document as well (and therefore moved to GlobalEventHandlers.idl)?
148     [NotEnumerable] attribute EventHandler onanimationend;
149     [NotEnumerable] attribute EventHandler onanimationiteration;
150     [NotEnumerable] attribute EventHandler onanimationstart;
151     [NotEnumerable] attribute EventHandler ontransitionend;
152     [NotEnumerable, ImplementedAs=onwebkitAnimationEnd] attribute EventHandler onwebkitanimationend;
153     [NotEnumerable, ImplementedAs=onwebkitAnimationIteration] attribute EventHandler onwebkitanimationiteration;
154     [NotEnumerable, ImplementedAs=onwebkitAnimationStart] attribute EventHandler onwebkitanimationstart;
155     [NotEnumerable, ImplementedAs=onwebkitTransitionEnd] attribute EventHandler onwebkittransitionend;
156     [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturechange;
157     [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongestureend;
158     [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart;
159
160     // Unique to Element, HTMLBodyElement and HTMLFrameSetElement
161     [NotEnumerable] attribute EventHandler onfocusin;
162     [NotEnumerable] attribute EventHandler onfocusout;
163
164     // Unique to Element
165     [NotEnumerable] attribute EventHandler onbeforeload;
166     [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyadded;
167     [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyerror;
168     [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeymessage;
169     [NotEnumerable, Conditional=ENCRYPTED_MEDIA|ENCRYPTED_MEDIA_V2] attribute EventHandler onwebkitneedkey;
170     [NotEnumerable, Conditional=VIDEO_PRESENTATION_MODE] attribute EventHandler onwebkitpresentationmodechanged;
171     [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitcurrentplaybacktargetiswirelesschanged;
172     [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitplaybacktargetavailabilitychanged;
173 };
174
175 enum ShadowRootMode { "open", "closed" };
176
177 dictionary ShadowRootInit {
178     required ShadowRootMode mode;
179 };
180
181 Element implements Animatable;
182 Element implements ChildNode;
183 Element implements NonDocumentTypeChildNode;
184 Element implements ParentNode;
185 Element implements Slotable;