diff options
Diffstat (limited to 'dom/interfaces/traversal')
-rw-r--r-- | dom/interfaces/traversal/moz.build | 14 | ||||
-rw-r--r-- | dom/interfaces/traversal/nsIDOMNodeFilter.idl | 35 | ||||
-rw-r--r-- | dom/interfaces/traversal/nsIDOMNodeIterator.idl | 27 | ||||
-rw-r--r-- | dom/interfaces/traversal/nsIDOMTreeWalker.idl | 27 |
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(); +}; |