blob: 397c4d62c6543253c8e4a53ec26c3a2d43ed472c [file] [log] [blame]
darin8d1badc2006-03-06 16:50:13 +00001/*
weinig3843e432007-06-07 04:28:36 +00002 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
weiniga8192c02006-08-28 03:33:34 +00003 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
darin8d1badc2006-03-06 16:50:13 +00004 *
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
ddkilzerc8eccec2007-09-26 02:29:57 +000017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
darin8d1badc2006-03-06 16:50:13 +000019 */
20
andersca3bd28d12006-02-08 11:48:10 +000021module core {
mjs04973112006-02-24 07:16:15 +000022
weinigb2ec73c2007-10-31 01:02:47 +000023 interface [
24 GenerateConstructor,
25 GenerateNativeConverter,
26 InterfaceUUID=FEFE9C21-E58C-4b5b-821A-61A514613763,
27 ImplementationUUID=12E5B08E-A680-4baf-9D1E-108AEF7ABBFB
28 ] Element : EventTargetNode {
darin8d1badc2006-03-06 16:50:13 +000029
mjs74dd8222006-04-07 08:31:17 +000030 // DOM Level 1 Core
darin248fb4b2006-03-14 22:58:25 +000031
mjs74dd8222006-04-07 08:31:17 +000032 readonly attribute [ConvertNullStringTo=Null] DOMString tagName;
darin8d1badc2006-03-06 16:50:13 +000033
andersca3bd28d12006-02-08 11:48:10 +000034 [ConvertNullStringTo=Null] DOMString getAttribute(in DOMString name);
weinig63192cb2007-08-10 18:10:42 +000035 [OldStyleObjC, Custom] void setAttribute(in DOMString name,
36 in DOMString value)
andersca3bd28d12006-02-08 11:48:10 +000037 raises(DOMException);
andersca3bd28d12006-02-08 11:48:10 +000038 void removeAttribute(in DOMString name)
darin942dc762006-03-16 09:28:01 +000039 raises(DOMException);
darin527e3c42006-08-31 00:20:18 +000040 Attr getAttributeNode(in DOMString name);
weinig63192cb2007-08-10 18:10:42 +000041 [Custom] Attr setAttributeNode(in Attr newAttr)
andersca3bd28d12006-02-08 11:48:10 +000042 raises(DOMException);
darin527e3c42006-08-31 00:20:18 +000043 Attr removeAttributeNode(in Attr oldAttr)
darin942dc762006-03-16 09:28:01 +000044 raises(DOMException);
darin527e3c42006-08-31 00:20:18 +000045 NodeList getElementsByTagName(in DOMString name);
darin248fb4b2006-03-14 22:58:25 +000046
mjs74dd8222006-04-07 08:31:17 +000047 // DOM Level 2 Core
darin8d1badc2006-03-06 16:50:13 +000048
thatcher12854cc2006-09-03 20:38:00 +000049 [OldStyleObjC] DOMString getAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
weinig100b4c62006-09-11 17:11:59 +000050 in DOMString localName);
weinig63192cb2007-08-10 18:10:42 +000051 [OldStyleObjC, Custom] void setAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
52 in DOMString qualifiedName,
53 in DOMString value)
andersca3bd28d12006-02-08 11:48:10 +000054 raises(DOMException);
thatcher12854cc2006-09-03 20:38:00 +000055 [OldStyleObjC] void removeAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
weinig100b4c62006-09-11 17:11:59 +000056 in DOMString localName)
andersca3bd28d12006-02-08 11:48:10 +000057 raises(DOMException);
thatcher12854cc2006-09-03 20:38:00 +000058 [OldStyleObjC] NodeList getElementsByTagNameNS(in [ConvertNullToNullString] DOMString namespaceURI,
weinig100b4c62006-09-11 17:11:59 +000059 in DOMString localName);
thatcher12854cc2006-09-03 20:38:00 +000060 [OldStyleObjC] Attr getAttributeNodeNS(in [ConvertNullToNullString] DOMString namespaceURI,
weinig100b4c62006-09-11 17:11:59 +000061 in DOMString localName);
weinig63192cb2007-08-10 18:10:42 +000062 [Custom] Attr setAttributeNodeNS(in Attr newAttr)
andersca3bd28d12006-02-08 11:48:10 +000063 raises(DOMException);
mjs74dd8222006-04-07 08:31:17 +000064 boolean hasAttribute(in DOMString name);
thatcher12854cc2006-09-03 20:38:00 +000065 [OldStyleObjC] boolean hasAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
weinig100b4c62006-09-11 17:11:59 +000066 in DOMString localName);
darin8d1badc2006-03-06 16:50:13 +000067
weinigb2ec73c2007-10-31 01:02:47 +000068#if !defined(LANGUAGE_COM)
darin527e3c42006-08-31 00:20:18 +000069 readonly attribute CSSStyleDeclaration style;
weinigb2ec73c2007-10-31 01:02:47 +000070#endif
darin8d1badc2006-03-06 16:50:13 +000071
mjs74dd8222006-04-07 08:31:17 +000072 // Common extensions
73
darin527e3c42006-08-31 00:20:18 +000074 readonly attribute long offsetLeft;
darin527e3c42006-08-31 00:20:18 +000075 readonly attribute long offsetTop;
darin527e3c42006-08-31 00:20:18 +000076 readonly attribute long offsetWidth;
darin527e3c42006-08-31 00:20:18 +000077 readonly attribute long offsetHeight;
darin527e3c42006-08-31 00:20:18 +000078 readonly attribute Element offsetParent;
hyattb0aa8152006-09-10 04:55:03 +000079 readonly attribute long clientLeft;
hyattb0aa8152006-09-10 04:55:03 +000080 readonly attribute long clientTop;
darin527e3c42006-08-31 00:20:18 +000081 readonly attribute long clientWidth;
darin527e3c42006-08-31 00:20:18 +000082 readonly attribute long clientHeight;
weinig100b4c62006-09-11 17:11:59 +000083 attribute long scrollLeft;
84 attribute long scrollTop;
darin527e3c42006-08-31 00:20:18 +000085 readonly attribute long scrollWidth;
darin527e3c42006-08-31 00:20:18 +000086 readonly attribute long scrollHeight;
mjs74dd8222006-04-07 08:31:17 +000087
88 void focus();
mjs74dd8222006-04-07 08:31:17 +000089 void blur();
darin527e3c42006-08-31 00:20:18 +000090 void scrollIntoView(in [Optional] boolean alignWithTop);
mjs74dd8222006-04-07 08:31:17 +000091
92 // IE extensions
darin8c3ba962006-03-31 18:51:40 +000093
thatcher7da1ad92006-09-05 02:45:57 +000094 Node insertAdjacentElement(in DOMString position,
95 in Node element)
mjsa55d5ec2006-03-29 09:38:54 +000096 raises(DOMException);
thatcher7da1ad92006-09-05 02:45:57 +000097 boolean contains(in Element element);
darin8c3ba962006-03-31 18:51:40 +000098
mjs74dd8222006-04-07 08:31:17 +000099 // WebKit extensions
100
darin527e3c42006-08-31 00:20:18 +0000101 void scrollIntoViewIfNeeded(in [Optional] boolean centerIfNeeded);
thatcher7da1ad92006-09-05 02:45:57 +0000102 void scrollByLines(in long lines);
thatcher7da1ad92006-09-05 02:45:57 +0000103 void scrollByPages(in long pages);
mjs74dd8222006-04-07 08:31:17 +0000104
rwlbuis60bf75092006-12-10 18:16:47 +0000105#if defined(LANGUAGE_OBJECTIVE_C)
106 // Objective-C extensions
107 readonly attribute DOMString innerText;
108#endif /* defined(LANGUAGE_OBJECTIVE_C) */
109
andersca3bd28d12006-02-08 11:48:10 +0000110 };
mjs04973112006-02-24 07:16:15 +0000111
andersca3bd28d12006-02-08 11:48:10 +0000112}