WebCore/dom/Node.idl
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebCore/dom/Node.idl	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ *
+ * 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 [
+        CustomHeader,
+        CustomMarkFunction,
+        CustomPushEventHandlerScope,
+        CustomToJS,
+        EventTarget,
+        GenerateNativeConverter,
+        InlineGetOwnPropertySlot,
+        Polymorphic,
+        DontCheckEnums
+    ] Node
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+        : Object, EventTarget
+#endif /* defined(LANGUAGE_OBJECTIVE_C) */
+     {
+        // NodeType
+        const unsigned short      ELEMENT_NODE                   = 1;
+        const unsigned short      ATTRIBUTE_NODE                 = 2;
+        const unsigned short      TEXT_NODE                      = 3;
+        const unsigned short      CDATA_SECTION_NODE             = 4;
+        const unsigned short      ENTITY_REFERENCE_NODE          = 5;
+        const unsigned short      ENTITY_NODE                    = 6;
+        const unsigned short      PROCESSING_INSTRUCTION_NODE    = 7;
+        const unsigned short      COMMENT_NODE                   = 8;
+        const unsigned short      DOCUMENT_NODE                  = 9;
+        const unsigned short      DOCUMENT_TYPE_NODE             = 10;
+        const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;
+        const unsigned short      NOTATION_NODE                  = 12;
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString        nodeName;
+
+                 // FIXME: the spec says this can also raise on retrieval.
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString        nodeValue
+                     setter raises(DOMException);
+
+        readonly attribute unsigned short   nodeType;
+        readonly attribute Node             parentNode;
+        readonly attribute NodeList         childNodes;
+        readonly attribute Node             firstChild;
+        readonly attribute Node             lastChild;
+        readonly attribute Node             previousSibling;
+        readonly attribute Node             nextSibling;
+        readonly attribute NamedNodeMap     attributes;
+        readonly attribute Document         ownerDocument;
+
+        [OldStyleObjC, Custom] Node insertBefore(in [Return] Node newChild,
+                                                 in Node refChild)
+            raises(DOMException);
+        [OldStyleObjC, Custom] Node replaceChild(in Node newChild,
+                                                 in [Return] Node oldChild)
+            raises(DOMExceptionJSC);
+        [Custom] Node               removeChild(in [Return] Node oldChild)
+            raises(DOMException);
+        [Custom] Node               appendChild(in [Return] Node newChild)
+            raises(DOMException);
+
+        boolean            hasChildNodes();
+        Node               cloneNode(in boolean deep);
+        void               normalize();
+
+        // Introduced in DOM Level 2:
+
+        [OldStyleObjC] boolean isSupported(in DOMString feature, 
+                                           in [ConvertNullToNullString] DOMString version);
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString        namespaceURI;
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString        prefix
+                     setter raises(DOMException);
+        readonly attribute [ConvertNullStringTo=Null] DOMString        localName;
+
+        boolean            hasAttributes();
+
+        // Introduced in DOM Level 3:
+
+        readonly attribute [ConvertNullStringTo=Null] DOMString       baseURI;
+
+                 // FIXME: the spec says this can also raise on retrieval.
+                 attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString       textContent
+                     setter raises(DOMException);
+
+        boolean            isSameNode(in Node other);
+        boolean            isEqualNode(in Node other);
+        [ConvertNullStringTo=Null] DOMString          lookupPrefix(in [ConvertNullToNullString] DOMString namespaceURI);
+        boolean            isDefaultNamespace(in [ConvertNullToNullString] DOMString namespaceURI);
+        [ConvertNullStringTo=Null] DOMString          lookupNamespaceURI(in [ConvertNullToNullString] DOMString prefix);
+
+        // DocumentPosition
+        const unsigned short      DOCUMENT_POSITION_DISCONNECTED = 0x01;
+        const unsigned short      DOCUMENT_POSITION_PRECEDING    = 0x02;
+        const unsigned short      DOCUMENT_POSITION_FOLLOWING    = 0x04;
+        const unsigned short      DOCUMENT_POSITION_CONTAINS     = 0x08;
+        const unsigned short      DOCUMENT_POSITION_CONTAINED_BY = 0x10;
+        const unsigned short      DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
+
+        unsigned short     compareDocumentPosition(in Node other);
+
+#if 0
+        DOMObject          getFeature(in DOMString feature, 
+                                      in DOMString version);
+        DOMUserData        setUserData(in DOMString key, 
+                                       in DOMUserData data, 
+                                       in UserDataHandler handler);
+        DOMUserData        getUserData(in DOMString key);
+#endif /* 0 */
+
+        // IE extensions
+        readonly attribute Element          parentElement;
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+        // Objective-C extensions
+        readonly attribute boolean          isContentEditable;
+#endif /* defined(LANGUAGE_OBJECTIVE_C) */
+
+#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+        void addEventListener(in DOMString type, 
+                              in EventListener listener, 
+                              in boolean useCapture);
+        void removeEventListener(in DOMString type, 
+                                 in EventListener listener, 
+                                 in boolean useCapture);
+        boolean dispatchEvent(in Event event)
+            raises(EventException);
+#endif
+#endif
+
+#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
+        [Custom] void addEventListener(in DOMString type, 
+                                          in EventListener listener, 
+                                          in boolean useCapture);
+        [Custom] void removeEventListener(in DOMString type, 
+                                             in EventListener listener, 
+                                             in boolean useCapture);
+        boolean dispatchEvent(in Event event)
+            raises(EventException);
+#endif
+
+    };
+
+}