| 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, 2008, 2009 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
| 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 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 | 873 |
| 874 if (renderer()->style()->hasAppearance()) | 874 if (renderer()->style()->hasAppearance()) |
| 875 RenderTheme::theme().stateChanged(renderer(), HoverState); | 875 RenderTheme::theme().stateChanged(renderer(), HoverState); |
| 876 } | 876 } |
| 877 | 877 |
| 878 PassRefPtr<HTMLCollection> ContainerNode::children() | 878 PassRefPtr<HTMLCollection> ContainerNode::children() |
| 879 { | 879 { |
| 880 return ensureRareData().ensureNodeLists().addCache<HTMLCollection>(this, Nod
eChildren); | 880 return ensureRareData().ensureNodeLists().addCache<HTMLCollection>(this, Nod
eChildren); |
| 881 } | 881 } |
| 882 | 882 |
| 883 Element* ContainerNode::firstElementChild() const | |
| 884 { | |
| 885 return ElementTraversal::firstWithin(*this); | |
| 886 } | |
| 887 | |
| 888 Element* ContainerNode::lastElementChild() const | |
| 889 { | |
| 890 Node* n = lastChild(); | |
| 891 while (n && !n->isElementNode()) | |
| 892 n = n->previousSibling(); | |
| 893 return toElement(n); | |
| 894 } | |
| 895 | |
| 896 unsigned ContainerNode::childElementCount() const | |
| 897 { | |
| 898 unsigned count = 0; | |
| 899 Node* n = firstChild(); | |
| 900 while (n) { | |
| 901 count += n->isElementNode(); | |
| 902 n = n->nextSibling(); | |
| 903 } | |
| 904 return count; | |
| 905 } | |
| 906 | |
| 907 unsigned ContainerNode::childNodeCount() const | 883 unsigned ContainerNode::childNodeCount() const |
| 908 { | 884 { |
| 909 unsigned count = 0; | 885 unsigned count = 0; |
| 910 Node *n; | 886 Node *n; |
| 911 for (n = firstChild(); n; n = n->nextSibling()) | 887 for (n = firstChild(); n; n = n->nextSibling()) |
| 912 count++; | 888 count++; |
| 913 return count; | 889 return count; |
| 914 } | 890 } |
| 915 | 891 |
| 916 Node *ContainerNode::childNode(unsigned index) const | 892 Node *ContainerNode::childNode(unsigned index) const |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1062 return true; | 1038 return true; |
| 1063 | 1039 |
| 1064 if (node->isElementNode() && toElement(node)->shadow()) | 1040 if (node->isElementNode() && toElement(node)->shadow()) |
| 1065 return true; | 1041 return true; |
| 1066 | 1042 |
| 1067 return false; | 1043 return false; |
| 1068 } | 1044 } |
| 1069 #endif | 1045 #endif |
| 1070 | 1046 |
| 1071 } // namespace WebCore | 1047 } // namespace WebCore |
| OLD | NEW |