LayoutTests:
[WebKit-https.git] / WebCore / dom / Element.idl
1 /*
2  * Copyright (C) 2006 Apple Computer, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 module core {
21
22     interface [LegacyParent=KJS::DOMEventTargetNode] Element : EventTargetNode {
23
24         // DOM Level 1 Core
25
26         readonly attribute [ConvertNullStringTo=Null] DOMString tagName;
27
28         [ConvertNullStringTo=Null] DOMString getAttribute(in DOMString name);
29
30         void setAttribute(in DOMString name,
31                           in DOMString value)
32             raises(DOMException);
33
34         void removeAttribute(in DOMString name)
35             raises(DOMException);
36
37         Attr getAttributeNode(in DOMString name);
38
39         Attr setAttributeNode(in Attr newAttr)
40             raises(DOMException);
41
42         Attr removeAttributeNode(in Attr oldAttr)
43             raises(DOMException);
44
45         NodeList getElementsByTagName(in DOMString name);
46
47         // DOM Level 2 Core
48
49         DOMString getAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
50                                  in DOMString localName);
51
52         void setAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
53                             in DOMString qualifiedName, 
54                             in DOMString value)
55             raises(DOMException);
56
57         void removeAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
58                                in DOMString localName)
59             raises(DOMException);
60
61         NodeList getElementsByTagNameNS(in [ConvertNullToNullString] DOMString namespaceURI,
62                                         in DOMString localName);
63
64         Attr getAttributeNodeNS(in [ConvertNullToNullString] DOMString namespaceURI,
65                                 in DOMString localName);
66
67         Attr setAttributeNodeNS(in Attr newAttr)
68             raises(DOMException);
69
70         boolean hasAttribute(in DOMString name);
71
72         boolean hasAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
73                                in DOMString localName);
74
75         readonly attribute CSSStyleDeclaration style;
76
77         // Common extensions
78
79         readonly attribute long offsetLeft;
80
81         readonly attribute long offsetTop;
82
83         readonly attribute long offsetWidth;
84
85         readonly attribute long offsetHeight;
86
87         readonly attribute Element offsetParent;
88         
89         readonly attribute long clientWidth;
90
91         readonly attribute long clientHeight;
92
93         attribute long scrollLeft;
94
95         attribute long scrollTop;
96
97         readonly attribute long scrollWidth;
98
99         readonly attribute long scrollHeight;
100
101         void focus();
102
103         void blur();
104
105         void scrollIntoView(in [ConvertUndefinedToTrue] boolean alignWithTop);
106
107         // IE extensions
108
109         Node insertAdjacentElement(in DOMString position, 
110                                    in Node newElement)
111             raises(DOMException);
112         
113         boolean contains(in Element element);
114
115         // WebKit extensions
116
117         void scrollIntoViewIfNeeded(in [ConvertUndefinedToTrue] boolean alignWithTop);
118
119         void scrollByLines(in long lines);
120
121         void scrollByPages(in long pages);
122
123     };
124
125 }