| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 highest = node; | 316 highest = node; |
| 317 return *highest; | 317 return *highest; |
| 318 } | 318 } |
| 319 | 319 |
| 320 inline ContainerNode* Node::parentElementOrShadowRoot() const | 320 inline ContainerNode* Node::parentElementOrShadowRoot() const |
| 321 { | 321 { |
| 322 ContainerNode* parent = parentNode(); | 322 ContainerNode* parent = parentNode(); |
| 323 return parent && (parent->isElementNode() || parent->isShadowRoot()) ? paren
t : 0; | 323 return parent && (parent->isElementNode() || parent->isShadowRoot()) ? paren
t : 0; |
| 324 } | 324 } |
| 325 | 325 |
| 326 inline ContainerNode* Node::parentElementOrDocumentFragment() const |
| 327 { |
| 328 ContainerNode* parent = parentNode(); |
| 329 return parent && (parent->isElementNode() || parent->isDocumentFragment()) ?
parent : 0; |
| 330 } |
| 331 |
| 326 // This constant controls how much buffer is initially allocated | 332 // This constant controls how much buffer is initially allocated |
| 327 // for a Node Vector that is used to store child Nodes of a given Node. | 333 // for a Node Vector that is used to store child Nodes of a given Node. |
| 328 // FIXME: Optimize the value. | 334 // FIXME: Optimize the value. |
| 329 const int initialNodeVectorSize = 11; | 335 const int initialNodeVectorSize = 11; |
| 330 typedef Vector<RefPtr<Node>, initialNodeVectorSize> NodeVector; | 336 typedef Vector<RefPtr<Node>, initialNodeVectorSize> NodeVector; |
| 331 | 337 |
| 332 inline void getChildNodes(Node& node, NodeVector& nodes) | 338 inline void getChildNodes(Node& node, NodeVector& nodes) |
| 333 { | 339 { |
| 334 ASSERT(!nodes.size()); | 340 ASSERT(!nodes.size()); |
| 335 for (Node* child = node.firstChild(); child; child = child->nextSibling()) | 341 for (Node* child = node.firstChild(); child; child = child->nextSibling()) |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 | 403 |
| 398 RefPtr<Node> m_currentNode; | 404 RefPtr<Node> m_currentNode; |
| 399 unsigned m_currentIndex; | 405 unsigned m_currentIndex; |
| 400 OwnPtr<Vector<RefPtr<Node> > > m_childNodes; // Lazily instantiated. | 406 OwnPtr<Vector<RefPtr<Node> > > m_childNodes; // Lazily instantiated. |
| 401 ChildNodesLazySnapshot* m_nextSnapshot; | 407 ChildNodesLazySnapshot* m_nextSnapshot; |
| 402 }; | 408 }; |
| 403 | 409 |
| 404 } // namespace WebCore | 410 } // namespace WebCore |
| 405 | 411 |
| 406 #endif // ContainerNode_h | 412 #endif // ContainerNode_h |
| OLD | NEW |