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 |