summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/traversal
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/traversal')
-rw-r--r--dom/interfaces/traversal/moz.build14
-rw-r--r--dom/interfaces/traversal/nsIDOMNodeFilter.idl35
-rw-r--r--dom/interfaces/traversal/nsIDOMNodeIterator.idl27
-rw-r--r--dom/interfaces/traversal/nsIDOMTreeWalker.idl27
4 files changed, 103 insertions, 0 deletions
diff --git a/dom/interfaces/traversal/moz.build b/dom/interfaces/traversal/moz.build
new file mode 100644
index 000000000..ba7b5c9fe
--- /dev/null
+++ b/dom/interfaces/traversal/moz.build
@@ -0,0 +1,14 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+XPIDL_SOURCES += [
+ 'nsIDOMNodeFilter.idl',
+ 'nsIDOMNodeIterator.idl',
+ 'nsIDOMTreeWalker.idl',
+]
+
+XPIDL_MODULE = 'dom_traversal'
+
diff --git a/dom/interfaces/traversal/nsIDOMNodeFilter.idl b/dom/interfaces/traversal/nsIDOMNodeFilter.idl
new file mode 100644
index 000000000..934d60954
--- /dev/null
+++ b/dom/interfaces/traversal/nsIDOMNodeFilter.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "domstubs.idl"
+
+[scriptable, function, uuid(e4723748-1dd1-11b2-8ee6-866a532a6237)]
+// Introduced in DOM Level 2:
+interface nsIDOMNodeFilter : nsISupports
+{
+ // Constants returned by acceptNode
+ const short FILTER_ACCEPT = 1;
+ const short FILTER_REJECT = 2;
+ const short FILTER_SKIP = 3;
+
+
+ // Constants for whatToShow
+ const unsigned long SHOW_ALL = 0xFFFFFFFF;
+ const unsigned long SHOW_ELEMENT = 0x00000001;
+ const unsigned long SHOW_ATTRIBUTE = 0x00000002;
+ const unsigned long SHOW_TEXT = 0x00000004;
+ const unsigned long SHOW_CDATA_SECTION = 0x00000008;
+ const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
+ const unsigned long SHOW_ENTITY = 0x00000020;
+ const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
+ const unsigned long SHOW_COMMENT = 0x00000080;
+ const unsigned long SHOW_DOCUMENT = 0x00000100;
+ const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
+ const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
+ const unsigned long SHOW_NOTATION = 0x00000800;
+
+ short acceptNode(in nsIDOMNode n);
+};
diff --git a/dom/interfaces/traversal/nsIDOMNodeIterator.idl b/dom/interfaces/traversal/nsIDOMNodeIterator.idl
new file mode 100644
index 000000000..da3984bab
--- /dev/null
+++ b/dom/interfaces/traversal/nsIDOMNodeIterator.idl
@@ -0,0 +1,27 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "domstubs.idl"
+
+interface nsIDOMNodeFilter;
+
+[uuid(a86bdac9-ff89-4c94-8160-4fe86733bab8)]
+// Introduced in DOM Level 2, updated to DOM Level 4:
+interface nsIDOMNodeIterator : nsISupports
+{
+ readonly attribute nsIDOMNode root;
+ readonly attribute unsigned long whatToShow;
+ readonly attribute nsIDOMNodeFilter filter;
+ nsIDOMNode nextNode()
+ raises(DOMException);
+ nsIDOMNode previousNode()
+ raises(DOMException);
+ void detach();
+
+ // WebKit extensions, convenient for debugging.
+ readonly attribute nsIDOMNode referenceNode;
+ readonly attribute boolean pointerBeforeReferenceNode;
+};
diff --git a/dom/interfaces/traversal/nsIDOMTreeWalker.idl b/dom/interfaces/traversal/nsIDOMTreeWalker.idl
new file mode 100644
index 000000000..d96449803
--- /dev/null
+++ b/dom/interfaces/traversal/nsIDOMTreeWalker.idl
@@ -0,0 +1,27 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "domstubs.idl"
+
+interface nsIDOMNodeFilter;
+
+[uuid(c4ffa159-237c-4dde-b0ba-20b9f9270cf6)]
+// Introduced in DOM Level 2:
+interface nsIDOMTreeWalker : nsISupports {
+ readonly attribute nsIDOMNode root;
+ readonly attribute unsigned long whatToShow;
+ readonly attribute nsIDOMNodeFilter filter;
+ attribute nsIDOMNode currentNode;
+ // raises(DOMException) on setting
+
+ nsIDOMNode parentNode();
+ nsIDOMNode firstChild();
+ nsIDOMNode lastChild();
+ nsIDOMNode previousSibling();
+ nsIDOMNode nextSibling();
+ nsIDOMNode previousNode();
+ nsIDOMNode nextNode();
+};