Reviewed by Geoff.
[WebKit-https.git] / WebCore / dom / Document.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, GenerateConstructor] Document : EventTargetNode {
23
24         // DOM Level 1 Core
25         
26         readonly attribute DocumentType doctype;
27         
28         readonly attribute DOMImplementation implementation;
29         
30         readonly attribute Element documentElement;
31         
32         Element createElement(in DOMString tagName)
33             raises (DOMException);
34         
35         DocumentFragment createDocumentFragment();
36         
37         Text createTextNode(in DOMString data);
38         
39         Comment createComment(in DOMString data);
40         
41         CDATASection createCDATASection(in DOMString data)
42             raises(DOMException);
43         
44         ProcessingInstruction createProcessingInstruction(in DOMString target, 
45                                                           in DOMString data)
46             raises (DOMException);
47         
48         Attr createAttribute(in DOMString name)
49             raises (DOMException);
50         
51         EntityReference createEntityReference(in DOMString name)
52             raises(DOMException);
53         
54         NodeList getElementsByTagName(in DOMString tagname);
55         
56         // DOM Level 2 Core
57         
58         Node importNode(in Node importedNode,
59                         in boolean deep)
60             raises (DOMException);
61         
62         Element createElementNS(in DOMString namespaceURI,
63                                 in DOMString qualifiedName)
64             raises (DOMException);
65         
66         Attr createAttributeNS(in DOMString namespaceURI,
67                                in DOMString qualifiedName)
68             raises (DOMException);
69         
70         NodeList getElementsByTagNameNS(in DOMString namespaceURI,
71                                         in DOMString localName);
72         
73         Element getElementById(in DOMString elementId);
74
75         // DOM Level 2 Events (DocumentEvents interface)
76
77         Event createEvent(in DOMString eventType)
78             raises(DOMException);
79
80         // DOM Level 2 Tranversal and Range (DocumentRange interface)
81
82         Range createRange();
83
84         // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
85
86         NodeIterator createNodeIterator(in Node root, 
87                                         in unsigned long whatToShow,
88                                         in NodeFilter filter,
89                                         in boolean entityReferenceExpansion)
90             raises(DOMException);
91
92         TreeWalker createTreeWalker(in Node root, 
93                                     in unsigned long whatToShow, 
94                                     in NodeFilter filter, 
95                                     in boolean entityReferenceExpansion)
96             raises(DOMException);
97
98         // DOM Level 2 Abstract Views (DocumentView interface)
99
100         readonly attribute DOMWindow defaultView;
101
102         // DOM Level 2 Style (DocumentStyle interface)
103
104         readonly attribute StyleSheetList styleSheets;
105
106         // DOM Level 2 Style (DocumentCSS interface)
107
108         CSSStyleDeclaration getOverrideStyle(in Element elt, 
109                                              in DOMString pseudoElt);
110
111         // DOM Level 3 Core
112
113         readonly attribute [ConvertNullStringTo=Null] DOMString inputEncoding;
114         Node adoptNode(in Node source)
115             raises (DOMException);
116
117 #if XPATH_SUPPORT
118         // DOM Level 3 XPath (XPathEvaluator interface)
119         XPathExpression createExpression(in DOMString expression,
120                                          in XPathNSResolver resolver)
121             raises(DOMException);
122
123         XPathNSResolver createNSResolver(in Node nodeResolver);
124         
125         XPathResult evaluate(in DOMString expression,
126                              in Node contextNode, 
127                              in XPathNSResolver resolver,
128                              in unsigned short type,
129                              in XPathResult inResult)
130             raises(DOMException);
131 #endif
132
133         // Common extensions
134
135         boolean execCommand(in DOMString command, 
136                             in boolean userInterface, 
137                             in DOMString value);
138
139         boolean queryCommandEnabled(in DOMString command);
140
141         boolean queryCommandIndeterm(in DOMString command);
142
143         boolean queryCommandState(in DOMString command);
144
145         boolean queryCommandSupported(in DOMString command);
146
147         [ConvertNullStringTo=False] DOMString queryCommandValue(in DOMString command);
148
149         // IE extensions
150
151         readonly attribute DOMString URL;
152
153         attribute [ConvertNullStringTo=Undefined] DOMString charset;
154
155         readonly attribute [ConvertNullStringTo=Undefined] DOMString defaultCharset;
156
157         readonly attribute [ConvertNullStringTo=Undefined] DOMString readyState;
158
159         Element elementFromPoint(in long x, in long y);
160
161         // Mozilla extensions
162
163         readonly attribute [ConvertNullStringTo=Null] DOMString characterSet;
164
165         // WebKit extensions
166
167         readonly attribute [ConvertNullStringTo=Null] DOMString preferredStylesheetSet;
168
169         attribute [ConvertNullStringTo=Null] DOMString selectedStylesheetSet;
170
171     };
172
173 }