WebCore/dom/Document.idl
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebCore/dom/Document.idl	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,332 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+module core {
+
+    interface [
+        CustomToJS,
+        GenerateNativeConverter,
+        CustomMarkFunction,
+        InlineGetOwnPropertySlot
+    ] Document : Node {
+
+        // DOM Level 1 Core
+        readonly attribute DocumentType doctype;
+        readonly attribute [V8Custom] DOMImplementation implementation;
+        readonly attribute Element documentElement;
+
+        [ReturnsNew] Element createElement(in [ConvertNullToNullString] DOMString tagName)
+            raises (DOMException);
+        DocumentFragment   createDocumentFragment();
+        [ReturnsNew] Text createTextNode(in DOMString data);
+        [ReturnsNew] Comment createComment(in DOMString data);
+        [ReturnsNew] CDATASection createCDATASection(in DOMString data)
+            raises(DOMException);
+        [OldStyleObjC, ReturnsNew] ProcessingInstruction createProcessingInstruction(in DOMString target,
+                                                                                     in DOMString data)
+            raises (DOMException);
+        [ReturnsNew] Attr createAttribute(in DOMString name)
+            raises (DOMException);
+        [ReturnsNew] EntityReference createEntityReference(in DOMString name)
+            raises(DOMException);
+        NodeList           getElementsByTagName(in DOMString tagname);
+
+        // Introduced in DOM Level 2:
+
+        [OldStyleObjC, ReturnsNew] Node importNode(in Node importedNode,
+                                                   in boolean deep)
+            raises (DOMException);
+        [OldStyleObjC, ReturnsNew] Element createElementNS(in [ConvertNullToNullString] DOMString namespaceURI,
+                                                           in [ConvertNullToNullString] DOMString qualifiedName)
+            raises (DOMException);
+        [OldStyleObjC, ReturnsNew] Attr createAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
+                                                          in [ConvertNullToNullString] DOMString qualifiedName)
+            raises (DOMException);
+        [OldStyleObjC] NodeList getElementsByTagNameNS(in [ConvertNullToNullString] DOMString namespaceURI,
+                                                       in DOMString localName);
+        Element            getElementById(in DOMString elementId);
+
+        // DOM Level 3 Core
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString inputEncoding;
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString xmlEncoding;
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString xmlVersion
+                    setter raises (DOMException);
+                 attribute boolean xmlStandalone
+                    setter raises (DOMException);
+
+        Node               adoptNode(in Node source)
+            raises (DOMException);
+
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString documentURI;
+
+        // DOM Level 2 Events (DocumentEvents interface)
+
+        Event              createEvent(in DOMString eventType)
+            raises(DOMException);
+
+        // DOM Level 2 Tranversal and Range (DocumentRange interface)
+
+        Range              createRange();
+
+        // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
+
+        [OldStyleObjC] NodeIterator createNodeIterator(in Node root,
+                                                       in unsigned long whatToShow,
+                                                       in NodeFilter filter,
+                                                       in boolean expandEntityReferences)
+            raises(DOMException);
+        [OldStyleObjC] TreeWalker createTreeWalker(in Node root,
+                                                   in unsigned long whatToShow,
+                                                   in NodeFilter filter,
+                                                   in boolean expandEntityReferences)
+            raises(DOMException);
+
+        // DOM Level 2 Abstract Views (DocumentView interface)
+
+        readonly attribute DOMWindow defaultView;
+
+        // DOM Level 2 Style (DocumentStyle interface)
+
+        readonly attribute StyleSheetList styleSheets;
+
+        // DOM Level 2 Style (DocumentCSS interface)
+
+        [OldStyleObjC] CSSStyleDeclaration getOverrideStyle(in Element element,
+                                                            in DOMString pseudoElement);
+#if defined(ENABLE_XPATH) && ENABLE_XPATH
+        // DOM Level 3 XPath (XPathEvaluator interface)
+        [OldStyleObjC] XPathExpression createExpression(in DOMString expression,
+                                                        in XPathNSResolver resolver)
+            raises(DOMException);
+        XPathNSResolver    createNSResolver(in Node nodeResolver);
+        [OldStyleObjC, V8Custom] XPathResult evaluate(in DOMString expression,
+                                                      in Node contextNode,
+                                                      in XPathNSResolver resolver,
+                                                      in unsigned short type,
+                                                      in XPathResult inResult)
+            raises(DOMException);
+#endif // ENABLE_XPATH
+
+        // Common extensions
+
+        boolean            execCommand(in DOMString command,
+                                       in boolean userInterface,
+                                       in [ConvertUndefinedOrNullToNullString] DOMString value);
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+        // FIXME: remove the these two versions once [Optional] is implemented for Objective-C.
+        boolean            execCommand(in DOMString command,
+                                       in boolean userInterface);
+        boolean            execCommand(in DOMString command);
+#endif
+
+        boolean            queryCommandEnabled(in DOMString command);
+        boolean            queryCommandIndeterm(in DOMString command);
+        boolean            queryCommandState(in DOMString command);
+        boolean            queryCommandSupported(in DOMString command);
+        [ConvertNullStringTo=False] DOMString queryCommandValue(in DOMString command);
+
+        // Moved down from HTMLDocument
+
+                 attribute [ConvertNullToNullString] DOMString title;
+        readonly attribute DOMString referrer;
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+                 attribute [ConvertNullToNullString] DOMString domain
+                     setter raises (DOMException);
+#else
+        readonly attribute DOMString domain;
+#endif
+        readonly attribute DOMString URL;
+
+                 attribute [ConvertNullToNullString] DOMString cookie
+                     setter raises (DOMException),
+                     getter raises (DOMException);
+
+        // FIXME: the DOM spec does NOT have this attribute
+        // raising an exception.
+                 attribute HTMLElement body
+                     setter raises (DOMException);
+
+        readonly attribute HTMLHeadElement head;
+        readonly attribute HTMLCollection images;
+        readonly attribute HTMLCollection applets;
+        readonly attribute HTMLCollection links;
+        readonly attribute HTMLCollection forms;
+        readonly attribute HTMLCollection anchors;
+        readonly attribute DOMString lastModified;
+
+        NodeList getElementsByName(in DOMString elementName);
+
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+                 attribute [Custom] Location location;
+#endif
+
+        // IE extensions
+
+                 attribute [ConvertNullStringTo=Undefined, ConvertNullToNullString] DOMString charset;
+        readonly attribute [ConvertNullStringTo=Undefined] DOMString defaultCharset;
+        readonly attribute [ConvertNullStringTo=Undefined] DOMString readyState;
+
+
+        NodeList           nodesFromRect(in long x, in long y,
+                                         in unsigned long hPadding,
+                                         in unsigned long vPadding,
+                                         in boolean ignoreClipping);
+        Element            elementFromPoint(in long x, in long y);
+        Range              caretRangeFromPoint(in long x, in long y);
+
+        // Mozilla extensions
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+        DOMSelection       getSelection();
+#endif
+        readonly attribute [ConvertNullStringTo=Null] DOMString characterSet;
+
+        // WebKit extensions
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString preferredStylesheetSet;
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString selectedStylesheetSet;
+
+#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
+        CSSStyleDeclaration createCSSStyleDeclaration();
+#endif
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+        // DOM Level 2 Style Interface
+        [OldStyleObjC, UsesView] CSSStyleDeclaration getComputedStyle(in Element element,
+                                                                      in DOMString pseudoElement);
+
+        // WebKit extension
+        // FIXME: remove the first version once [Optional] is implemented for Objective-C.
+        [UsesView] CSSRuleList getMatchedCSSRules(in Element element,
+                                                  in DOMString pseudoElement);
+        [UsesView] CSSRuleList getMatchedCSSRules(in Element element,
+                                                  in DOMString pseudoElement,
+                                                  in [Optional] boolean authorOnly);
+                                                  
+#endif
+
+#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+        [V8Custom] DOMObject getCSSCanvasContext(in DOMString contextId, in DOMString name, in long width, in long height);
+#endif
+#endif
+
+        // HTML 5
+        NodeList getElementsByClassName(in DOMString tagname);
+
+        // NodeSelector - Selector API
+        Element querySelector(in DOMString selectors)
+            raises(DOMException);
+        NodeList querySelectorAll(in DOMString selectors)
+            raises(DOMException);
+
+#if defined(ENABLE_WML) && ENABLE_WML
+        // Only used from within WML layout tests, WML doesn't have JS support at all.
+        [DontEnum] void resetWMLPageState();
+        [DontEnum] void initializeWMLPageState();
+#endif
+
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+        // Event handler DOM attributes
+        attribute [DontEnum] EventListener onabort;
+        attribute [DontEnum] EventListener onblur;
+        attribute [DontEnum] EventListener onchange;
+        attribute [DontEnum] EventListener onclick;
+        attribute [DontEnum] EventListener oncontextmenu;
+        attribute [DontEnum] EventListener ondblclick;
+        attribute [DontEnum] EventListener ondrag;
+        attribute [DontEnum] EventListener ondragend;
+        attribute [DontEnum] EventListener ondragenter;
+        attribute [DontEnum] EventListener ondragleave;
+        attribute [DontEnum] EventListener ondragover;
+        attribute [DontEnum] EventListener ondragstart;
+        attribute [DontEnum] EventListener ondrop;
+        attribute [DontEnum] EventListener onerror;
+        attribute [DontEnum] EventListener onfocus;
+        attribute [DontEnum] EventListener oninput;
+        attribute [DontEnum] EventListener oninvalid;
+        attribute [DontEnum] EventListener onkeydown;
+        attribute [DontEnum] EventListener onkeypress;
+        attribute [DontEnum] EventListener onkeyup;
+        attribute [DontEnum] EventListener onload;
+        attribute [DontEnum] EventListener onmousedown;
+        attribute [DontEnum] EventListener onmousemove;
+        attribute [DontEnum] EventListener onmouseout;
+        attribute [DontEnum] EventListener onmouseover;
+        attribute [DontEnum] EventListener onmouseup;
+        attribute [DontEnum] EventListener onmousewheel;
+        attribute [DontEnum] EventListener onscroll;
+        attribute [DontEnum] EventListener onselect;
+        attribute [DontEnum] EventListener onsubmit;
+
+        // attribute [DontEnum] EventListener oncanplay;
+        // attribute [DontEnum] EventListener oncanplaythrough;
+        // attribute [DontEnum] EventListener ondurationchange;
+        // attribute [DontEnum] EventListener onemptied;
+        // attribute [DontEnum] EventListener onended;
+        // attribute [DontEnum] EventListener onformchange;
+        // attribute [DontEnum] EventListener onforminput;
+        // attribute [DontEnum] EventListener onloadeddata;
+        // attribute [DontEnum] EventListener onloadedmetadata;
+        // attribute [DontEnum] EventListener onloadstart;
+        // attribute [DontEnum] EventListener onpause;
+        // attribute [DontEnum] EventListener onplay;
+        // attribute [DontEnum] EventListener onplaying;
+        // attribute [DontEnum] EventListener onprogress;
+        // attribute [DontEnum] EventListener onratechange;
+        // attribute [DontEnum] EventListener onreadystatechange;
+        // attribute [DontEnum] EventListener onseeked;
+        // attribute [DontEnum] EventListener onseeking;
+        // attribute [DontEnum] EventListener onshow;
+        // attribute [DontEnum] EventListener onstalled;
+        // attribute [DontEnum] EventListener onsuspend;
+        // attribute [DontEnum] EventListener ontimeupdate;
+        // attribute [DontEnum] EventListener onvolumechange;
+        // attribute [DontEnum] EventListener onwaiting;
+
+        // WebKit extensions
+        attribute [DontEnum] EventListener onbeforecut;
+        attribute [DontEnum] EventListener oncut;
+        attribute [DontEnum] EventListener onbeforecopy;
+        attribute [DontEnum] EventListener oncopy;
+        attribute [DontEnum] EventListener onbeforepaste;
+        attribute [DontEnum] EventListener onpaste;
+        attribute [DontEnum] EventListener onreset;
+        attribute [DontEnum] EventListener onsearch;
+        attribute [DontEnum] EventListener onselectstart;
+        attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchstart;
+        attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchmove;
+        attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend;
+        attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel;
+        attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart;
+        attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionupdate;
+        attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionend;
+#endif
+
+#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
+        // Extra WebCore methods exposed to allow compile-time casting in C++
+        boolean isHTMLDocument();
+#endif
+
+    };
+
+}