Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Side by Side Diff: Source/core/dom/ContainerNode.cpp

Issue 166573003: Port ParentNode API to ElementTraversal (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/dom/ContainerNode.h ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « Source/core/dom/ContainerNode.h ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698