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

Unified Diff: Source/core/html/HTMLTableRowsCollection.cpp

Issue 163573004: Use ElementTraversal in HTMLTableRowsCollection::rowAfter() (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Tiny initialization fix 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/ElementTraversal.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/html/HTMLTableRowsCollection.cpp
diff --git a/Source/core/html/HTMLTableRowsCollection.cpp b/Source/core/html/HTMLTableRowsCollection.cpp
index 8a1f3dbd2be90b4c0ad0d94745b4718811dab285..f2aa4d4f2a8c74c13ae0c18088ffcbe202fde7e0 100644
--- a/Source/core/html/HTMLTableRowsCollection.cpp
+++ b/Source/core/html/HTMLTableRowsCollection.cpp
@@ -30,6 +30,7 @@
#include "core/html/HTMLTableRowsCollection.h"
#include "HTMLNames.h"
+#include "core/dom/ElementTraversal.h"
#include "core/html/HTMLTableElement.h"
#include "core/html/HTMLTableRowElement.h"
@@ -54,12 +55,12 @@ static bool isInFoot(Element* row)
HTMLTableRowElement* HTMLTableRowsCollection::rowAfter(HTMLTableElement* table, HTMLTableRowElement* previous)
{
- Node* child = 0;
+ Element* child = 0;
// Start by looking for the next row in this section.
// Continue only if there is none.
if (previous && previous->parentNode() != table) {
- for (child = previous->nextSibling(); child; child = child->nextSibling()) {
+ for (child = ElementTraversal::nextSibling(*previous); child; child = ElementTraversal::nextSibling(*child)) {
if (child->hasTagName(trTag))
return toHTMLTableRowElement(child);
}
@@ -67,12 +68,12 @@ HTMLTableRowElement* HTMLTableRowsCollection::rowAfter(HTMLTableElement* table,
// If still looking at head sections, find the first row in the next head section.
if (!previous)
- child = table->firstChild();
+ child = ElementTraversal::firstWithin(*table);
else if (isInHead(previous))
- child = previous->parentNode()->nextSibling();
- for (; child; child = child->nextSibling()) {
+ child = ElementTraversal::nextSibling(*previous->parentNode());
+ for (; child; child = ElementTraversal::nextSibling(*child)) {
if (child->hasTagName(theadTag)) {
- for (Node* grandchild = child->firstChild(); grandchild; grandchild = grandchild->nextSibling()) {
+ for (Element* grandchild = ElementTraversal::firstWithin(*child); grandchild; grandchild = ElementTraversal::nextSibling(*grandchild)) {
if (grandchild->hasTagName(trTag))
return toHTMLTableRowElement(grandchild);
}
@@ -81,16 +82,16 @@ HTMLTableRowElement* HTMLTableRowsCollection::rowAfter(HTMLTableElement* table,
// If still looking at top level and bodies, find the next row in top level or the first in the next body section.
if (!previous || isInHead(previous))
- child = table->firstChild();
+ child = ElementTraversal::firstWithin(*table);
else if (previous->parentNode() == table)
- child = previous->nextSibling();
+ child = ElementTraversal::nextSibling(*previous);
else if (isInBody(previous))
- child = previous->parentNode()->nextSibling();
- for (; child; child = child->nextSibling()) {
+ child = ElementTraversal::nextSibling(*previous->parentNode());
+ for (; child; child = ElementTraversal::nextSibling(*child)) {
if (child->hasTagName(trTag))
return toHTMLTableRowElement(child);
if (child->hasTagName(tbodyTag)) {
- for (Node* grandchild = child->firstChild(); grandchild; grandchild = grandchild->nextSibling()) {
+ for (Element* grandchild = ElementTraversal::firstWithin(*child); grandchild; grandchild = ElementTraversal::nextSibling(*grandchild)) {
if (grandchild->hasTagName(trTag))
return toHTMLTableRowElement(grandchild);
}
@@ -99,12 +100,12 @@ HTMLTableRowElement* HTMLTableRowsCollection::rowAfter(HTMLTableElement* table,
// Find the first row in the next foot section.
if (!previous || !isInFoot(previous))
- child = table->firstChild();
+ child = ElementTraversal::firstWithin(*table);
else
- child = previous->parentNode()->nextSibling();
- for (; child; child = child->nextSibling()) {
+ child = ElementTraversal::nextSibling(*previous->parentNode());
+ for (; child; child = ElementTraversal::nextSibling(*child)) {
if (child->hasTagName(tfootTag)) {
- for (Node* grandchild = child->firstChild(); grandchild; grandchild = grandchild->nextSibling()) {
+ for (Element* grandchild = ElementTraversal::firstWithin(*child); grandchild; grandchild = ElementTraversal::nextSibling(*grandchild)) {
if (grandchild->hasTagName(trTag))
return toHTMLTableRowElement(grandchild);
}
« no previous file with comments | « Source/core/dom/ElementTraversal.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698