Home | History | Annotate | Download | only in dom

Lines Matching full:node

36 TreeWalker::TreeWalker(PassRefPtr<Node> rootNode, unsigned whatToShow, PassRefPtr<NodeFilter> filter, bool expandEntityReferences)
42 void TreeWalker::setCurrentNode(PassRefPtr<Node> node, ExceptionCode& ec)
44 if (!node) {
48 m_current = node;
51 inline Node* TreeWalker::setCurrent(PassRefPtr<Node> node)
53 m_current = node;
57 Node* TreeWalker::parentNode(ScriptState* state)
59 RefPtr<Node> node = m_current;
60 while (node != root()) {
61 node = node->parentNode();
62 if (!node)
64 short acceptNodeResult = acceptNode(state, node.get());
68 return setCurrent(node.release());
73 Node* TreeWalker::firstChild(ScriptState* state)
75 for (RefPtr<Node> node = m_current->firstChild(); node; ) {
76 short acceptNodeResult = acceptNode(state, node.get());
81 m_current = node.release();
84 if (node->firstChild()) {
85 node = node->firstChild();
93 if (node->nextSibling()) {
94 node = node->nextSibling();
97 Node* parent = node->parentNode();
100 node = parent;
101 } while (node);
106 Node* TreeWalker::lastChild(ScriptState* state)
108 for (RefPtr<Node> node = m_current->lastChild(); node; ) {
109 short acceptNodeResult = acceptNode(state, node.get());
114 m_current = node.release();
117 if (node->lastChild()) {
118 node = node->lastChild();
126 if (node->previousSibling()) {
127 node = node->previousSibling();
130 Node* parent = node->parentNode();
133 node = parent;
134 } while (node);
139 Node* TreeWalker::previousSibling(ScriptState* state)
141 RefPtr<Node> node = m_current;
142 if (node == root())
145 for (RefPtr<Node> sibling = node->previousSibling(); sibling; ) {
164 node = node->parentNode();
165 if (!node || node == root())
167 short acceptNodeResult = acceptNode(state, node.get());
175 Node* TreeWalker::nextSibling(ScriptState* state)
177 RefPtr<Node> node = m_current;
178 if (node == root())
181 for (RefPtr<Node> sibling = node->nextSibling(); sibling; ) {
200 node = node->parentNode();
201 if (!node || node == root())
203 short acceptNodeResult = acceptNode(state, node.get());
211 Node* TreeWalker::previousNode(ScriptState* state)
213 RefPtr<Node> node = m_current;
214 while (node != root()) {
215 while (Node* previousSibling = node->previousSibling()) {
216 node = previousSibling;
217 short acceptNodeResult = acceptNode(state, node.get());
222 while (Node* lastChild = node->lastChild()) {
223 node = lastChild;
224 acceptNodeResult = acceptNode(state, node.get());
231 m_current = node.release();
235 if (node == root())
237 Node* parent = node->parentNode();
240 node = parent;
241 short acceptNodeResult = acceptNode(state, node.get());
245 return setCurrent(node.release());
250 Node* TreeWalker::nextNode(ScriptState* state)
252 RefPtr<Node> node = m_current;
254 while (Node* firstChild = node->firstChild()) {
255 node = firstChild;
256 short acceptNodeResult = acceptNode(state, node.get());
260 return setCurrent(node.release());
264 while (Node* nextSibling = node->traverseNextSibling(root())) {
265 node = nextSibling;
266 short acceptNodeResult = acceptNode(state, node.get());
270 return setCurrent(node.release());