Bug 1291707 part 1 - Change nsGenConList::Remove to Destroy and make it private. r=bz draft
authorXidorn Quan <xidorn+moz@upsuper.org>
Mon, 08 Aug 2016 19:54:38 +1000
changeset 400842 dfbff1f4282fc6bacc2e12c6b727afdab70000ba
parent 400841 9047c7d2b407f2b8537d778e964dd82ef2f23fcb
child 400843 acea60ceaa93726f482779ab1d8578fb4c1d7cb2
push id26297
push userxquan@mozilla.com
push dateMon, 15 Aug 2016 23:30:49 +0000
reviewersbz
bugs1291707
milestone51.0a1
Bug 1291707 part 1 - Change nsGenConList::Remove to Destroy and make it private. r=bz MozReview-Commit-ID: FxXizoXjRoh
layout/base/nsGenConList.cpp
layout/base/nsGenConList.h
--- a/layout/base/nsGenConList.cpp
+++ b/layout/base/nsGenConList.cpp
@@ -14,18 +14,17 @@ void
 nsGenConList::Clear()
 {
   //Delete entire list
   if (!mFirstNode)
     return;
   for (nsGenConNode *node = Next(mFirstNode); node != mFirstNode;
        node = Next(mFirstNode))
   {
-    Remove(node);
-    delete node;
+    Destroy(node);
   }
   delete mFirstNode;
 
   mFirstNode = nullptr;
   mSize = 0;
 }
 
 bool
@@ -34,33 +33,31 @@ nsGenConList::DestroyNodesFor(nsIFrame* 
   if (!mFirstNode)
     return false; // list empty
   nsGenConNode* node;
   bool destroyed = false;
   while (mFirstNode->mPseudoFrame == aFrame) {
     destroyed = true;
     node = Next(mFirstNode);
     bool isLastNode = node == mFirstNode; // before they're dangling
-    Remove(mFirstNode);
-    delete mFirstNode;
+    Destroy(mFirstNode);
     if (isLastNode) {
       mFirstNode = nullptr;
       return true;
     }
     else {
       mFirstNode = node;
     }
   }
   node = Next(mFirstNode);
   while (node != mFirstNode) {
     if (node->mPseudoFrame == aFrame) {
       destroyed = true;
       nsGenConNode *nextNode = Next(node);
-      Remove(node);
-      delete node;
+      Destroy(node);
       node = nextNode;
     } else {
       node = Next(node);
     }
   }
   return destroyed;
 }
 
--- a/layout/base/nsGenConList.h
+++ b/layout/base/nsGenConList.h
@@ -97,13 +97,19 @@ public:
   void Insert(nsGenConNode* aNode);
   // returns whether any nodes have been destroyed
   bool DestroyNodesFor(nsIFrame* aFrame); //destroy all nodes with aFrame as parent
 
   // Return true if |aNode1| is after |aNode2|.
   static bool NodeAfter(const nsGenConNode* aNode1,
                           const nsGenConNode* aNode2);
 
-  void Remove(nsGenConNode* aNode) { PR_REMOVE_LINK(aNode); mSize--; }
   bool IsLast(nsGenConNode* aNode) { return (Next(aNode) == mFirstNode); }
+private:
+  void Destroy(nsGenConNode* aNode)
+  {
+    PR_REMOVE_LINK(aNode);
+    delete aNode;
+    mSize--;
+  }
 };
 
 #endif /* nsGenConList_h___ */