| 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 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
| 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
| 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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 current = ElementTraversal::nextIncludingPseudo(current, listNode); | 143 current = ElementTraversal::nextIncludingPseudo(current, listNode); |
| 144 } | 144 } |
| 145 | 145 |
| 146 return 0; | 146 return 0; |
| 147 } | 147 } |
| 148 | 148 |
| 149 // Returns the previous list item with respect to the DOM order. | 149 // Returns the previous list item with respect to the DOM order. |
| 150 static RenderListItem* previousListItem(const Node* listNode, const RenderListIt
em* item) | 150 static RenderListItem* previousListItem(const Node* listNode, const RenderListIt
em* item) |
| 151 { | 151 { |
| 152 Node* current = item->node(); | 152 Node* current = item->node(); |
| 153 for (current = ElementTraversal::previousIncludingPseudo(current, listNode);
current; current = ElementTraversal::previousIncludingPseudo(current, listNode)
) { | 153 ASSERT(current); |
| 154 for (current = ElementTraversal::previousIncludingPseudo(*current, listNode)
; current; current = ElementTraversal::previousIncludingPseudo(*current, listNod
e)) { |
| 154 RenderObject* renderer = current->renderer(); | 155 RenderObject* renderer = current->renderer(); |
| 155 if (!renderer || (renderer && !renderer->isListItem())) | 156 if (!renderer || (renderer && !renderer->isListItem())) |
| 156 continue; | 157 continue; |
| 157 Node* otherList = enclosingList(toRenderListItem(renderer)); | 158 Node* otherList = enclosingList(toRenderListItem(renderer)); |
| 158 // This item is part of our current list, so it's what we're looking for
. | 159 // This item is part of our current list, so it's what we're looking for
. |
| 159 if (listNode == otherList) | 160 if (listNode == otherList) |
| 160 return toRenderListItem(renderer); | 161 return toRenderListItem(renderer); |
| 161 // We found ourself inside another list; lets skip the rest of it. | 162 // We found ourself inside another list; lets skip the rest of it. |
| 162 // Use nextIncludingPseudo() here because the other list itself may actu
ally | 163 // Use nextIncludingPseudo() here because the other list itself may actu
ally |
| 163 // be a list item itself. We need to examine it, so we do this to counte
ract | 164 // be a list item itself. We need to examine it, so we do this to counte
ract |
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 // assume that all the following ones have too. | 516 // assume that all the following ones have too. |
| 516 // This gives us the opportunity to stop here and avoid | 517 // This gives us the opportunity to stop here and avoid |
| 517 // marking the same nodes again. | 518 // marking the same nodes again. |
| 518 break; | 519 break; |
| 519 } | 520 } |
| 520 item->updateValue(); | 521 item->updateValue(); |
| 521 } | 522 } |
| 522 } | 523 } |
| 523 | 524 |
| 524 } // namespace WebCore | 525 } // namespace WebCore |
| OLD | NEW |