Bug 1302556 - Start AnonymousContent::GetElementById iteration at mContentNode. r=smaug draft
authorMarkus Stange <mstange@themasta.com>
Tue, 13 Sep 2016 18:19:07 -0400
changeset 414611 0cfaf085c9d97e57f322c7adf59a36ba9f4e5ff2
parent 414610 3afee4cf804830412359aae4c3bd23c74021dd2a
child 414612 7ab80f3e73bf57d922c063ba3969740ea24f273c
push id29721
push userbmo:mstange@themasta.com
push dateFri, 16 Sep 2016 20:54:58 +0000
reviewerssmaug
bugs1302556
milestone51.0a1
Bug 1302556 - Start AnonymousContent::GetElementById iteration at mContentNode. r=smaug This renames kid to node and starts the iteration at mContentNode instead of at mContentNode->GetFirstChild(). MozReview-Commit-ID: HFiHXZg0gLS
dom/base/AnonymousContent.cpp
--- a/dom/base/AnonymousContent.cpp
+++ b/dom/base/AnonymousContent.cpp
@@ -154,24 +154,24 @@ AnonymousContent::SetAnimationForElement
   return element->Animate(aContext, aKeyframes, aOptions, aRv);
 }
 
 Element*
 AnonymousContent::GetElementById(const nsAString& aElementId)
 {
   // This can be made faster in the future if needed.
   nsCOMPtr<nsIAtom> elementId = NS_Atomize(aElementId);
-  for (nsIContent* kid = mContentNode->GetFirstChild(); kid;
-       kid = kid->GetNextNode(mContentNode)) {
-    if (!kid->IsElement()) {
+  for (nsIContent* node = mContentNode; node;
+       node = node->GetNextNode(mContentNode)) {
+    if (!node->IsElement()) {
       continue;
     }
-    nsIAtom* id = kid->AsElement()->GetID();
+    nsIAtom* id = node->AsElement()->GetID();
     if (id && id == elementId) {
-      return kid->AsElement();
+      return node->AsElement();
     }
   }
   return nullptr;
 }
 
 bool
 AnonymousContent::WrapObject(JSContext* aCx,
                              JS::Handle<JSObject*> aGivenProto,