| 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, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2007, 2008 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 6 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 Node* ChildNodeList::virtualOwnerNode() const | 37 Node* ChildNodeList::virtualOwnerNode() const |
| 38 { | 38 { |
| 39 return &ownerNode(); | 39 return &ownerNode(); |
| 40 } | 40 } |
| 41 | 41 |
| 42 ChildNodeList::~ChildNodeList() | 42 ChildNodeList::~ChildNodeList() |
| 43 { | 43 { |
| 44 m_parent->nodeLists()->removeChildNodeList(this); | 44 m_parent->nodeLists()->removeChildNodeList(this); |
| 45 } | 45 } |
| 46 | 46 |
| 47 Node* ChildNodeList::itemBefore(const Node* previous) const | |
| 48 { | |
| 49 return LIKELY(!!previous) ? previous->previousSibling() : rootNode().lastChi
ld(); | |
| 50 } | |
| 51 | |
| 52 Node* ChildNodeList::traverseForwardToOffset(unsigned offset, Node& currentNode,
unsigned& currentOffset) const | 47 Node* ChildNodeList::traverseForwardToOffset(unsigned offset, Node& currentNode,
unsigned& currentOffset) const |
| 53 { | 48 { |
| 54 ASSERT(currentOffset < offset); | 49 ASSERT(currentOffset < offset); |
| 55 Node* next = ¤tNode; | 50 Node* next = ¤tNode; |
| 56 while ((next = next->nextSibling())) { | 51 while ((next = next->nextSibling())) { |
| 57 if (++currentOffset == offset) | 52 if (++currentOffset == offset) |
| 58 return next; | 53 return next; |
| 59 } | 54 } |
| 60 return 0; | 55 return 0; |
| 61 } | 56 } |
| 62 | 57 |
| 58 Node* ChildNodeList::traverseBackwardToOffset(unsigned offset, Node& currentNode
, unsigned& currentOffset) const |
| 59 { |
| 60 ASSERT(currentOffset > offset); |
| 61 Node* previous = ¤tNode; |
| 62 while ((previous = previous->previousSibling())) { |
| 63 if (--currentOffset == offset) |
| 64 return previous; |
| 65 } |
| 66 return 0; |
| 67 } |
| 68 |
| 63 } // namespace WebCore | 69 } // namespace WebCore |
| OLD | NEW |