From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/dom/TreeWalker.h | 48 ++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 30 deletions(-) (limited to 'Source/WebCore/dom/TreeWalker.h') diff --git a/Source/WebCore/dom/TreeWalker.h b/Source/WebCore/dom/TreeWalker.h index 6cf575be6..7270f2df8 100644 --- a/Source/WebCore/dom/TreeWalker.h +++ b/Source/WebCore/dom/TreeWalker.h @@ -22,55 +22,43 @@ * */ -#ifndef TreeWalker_h -#define TreeWalker_h +#pragma once #include "NodeFilter.h" #include "ScriptWrappable.h" #include "Traversal.h" -#include #include namespace WebCore { - typedef int ExceptionCode; - class TreeWalker : public ScriptWrappable, public RefCounted, public NodeIteratorBase { public: - static PassRefPtr create(PassRefPtr rootNode, unsigned whatToShow, PassRefPtr filter, bool expandEntityReferences) + static Ref create(Node& rootNode, unsigned long whatToShow, RefPtr&& filter) { - return adoptRef(new TreeWalker(rootNode, whatToShow, filter, expandEntityReferences)); + return adoptRef(*new TreeWalker(rootNode, whatToShow, WTFMove(filter))); } - Node* currentNode() const { return m_current.get(); } - void setCurrentNode(PassRefPtr, ExceptionCode&); + Node& currentNode() { return m_current.get(); } + const Node& currentNode() const { return m_current.get(); } - Node* parentNode(JSC::ExecState*); - Node* firstChild(JSC::ExecState*); - Node* lastChild(JSC::ExecState*); - Node* previousSibling(JSC::ExecState*); - Node* nextSibling(JSC::ExecState*); - Node* previousNode(JSC::ExecState*); - Node* nextNode(JSC::ExecState*); + WEBCORE_EXPORT void setCurrentNode(Node&); - // Do not call these functions. They are just scaffolding to support the Objective-C bindings. - // They operate in the main thread normal world, and they swallow JS exceptions. - Node* parentNode() { return parentNode(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* firstChild() { return firstChild(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* lastChild() { return lastChild(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* previousSibling() { return previousSibling(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* nextSibling() { return nextSibling(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* previousNode() { return previousNode(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } - Node* nextNode() { return nextNode(execStateFromNode(mainThreadNormalWorld(), m_current.get())); } + WEBCORE_EXPORT Node* parentNode(); + WEBCORE_EXPORT Node* firstChild(); + WEBCORE_EXPORT Node* lastChild(); + WEBCORE_EXPORT Node* previousSibling(); + WEBCORE_EXPORT Node* nextSibling(); + WEBCORE_EXPORT Node* previousNode(); + WEBCORE_EXPORT Node* nextNode(); private: - TreeWalker(PassRefPtr, unsigned whatToShow, PassRefPtr, bool expandEntityReferences); + TreeWalker(Node&, unsigned long whatToShow, RefPtr&&); + enum class SiblingTraversalType { Previous, Next }; + template Node* traverseSiblings(); - Node* setCurrent(PassRefPtr); + Node* setCurrent(Ref&&); - RefPtr m_current; + Ref m_current; }; } // namespace WebCore - -#endif // TreeWalker_h -- cgit v1.2.1