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 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 inline ContainerNode* Node::parentElementOrDocumentFragment() const | 348 inline ContainerNode* Node::parentElementOrDocumentFragment() const |
349 { | 349 { |
350 ContainerNode* parent = parentNode(); | 350 ContainerNode* parent = parentNode(); |
351 return parent && (parent->isElementNode() || parent->isDocumentFragment()) ?
parent : 0; | 351 return parent && (parent->isElementNode() || parent->isDocumentFragment()) ?
parent : 0; |
352 } | 352 } |
353 | 353 |
354 // This constant controls how much buffer is initially allocated | 354 // This constant controls how much buffer is initially allocated |
355 // for a Node Vector that is used to store child Nodes of a given Node. | 355 // for a Node Vector that is used to store child Nodes of a given Node. |
356 // FIXME: Optimize the value. | 356 // FIXME: Optimize the value. |
357 const int initialNodeVectorSize = 11; | 357 const int initialNodeVectorSize = 11; |
358 typedef Vector<RefPtr<Node>, initialNodeVectorSize> NodeVector; | 358 typedef WillBeHeapVector<RefPtrWillBeMember<Node>, initialNodeVectorSize> NodeVe
ctor; |
359 | 359 |
360 inline void getChildNodes(Node& node, NodeVector& nodes) | 360 inline void getChildNodes(Node& node, NodeVector& nodes) |
361 { | 361 { |
362 ASSERT(!nodes.size()); | 362 ASSERT(!nodes.size()); |
363 for (Node* child = node.firstChild(); child; child = child->nextSibling()) | 363 for (Node* child = node.firstChild(); child; child = child->nextSibling()) |
364 nodes.append(child); | 364 nodes.append(child); |
365 } | 365 } |
366 | 366 |
367 } // namespace WebCore | 367 } // namespace WebCore |
368 | 368 |
369 #endif // ContainerNode_h | 369 #endif // ContainerNode_h |
OLD | NEW |