Bug 819090 - Convert nsRefMapEntry::mRefContentList to nsTArray. r=froydnj
authorBirunthan Mohanathas <birunthan@mohanathas.com>
Wed, 06 May 2015 10:57:28 -0700
changeset 242580 cd73fb605ca3666419d8d62ca8f480a1ac957fa2
parent 242579 db70fd907041471df8102f6bd4a3250078cda8c7
child 242581 4ddfdd03e23c4e168c3cff05896014550aa9f74d
push id59451
push userbirunthan@mohanathas.com
push dateWed, 06 May 2015 17:58:06 +0000
treeherdermozilla-inbound@449bd0b3f7d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs819090
milestone40.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 819090 - Convert nsRefMapEntry::mRefContentList to nsTArray. r=froydnj
dom/xul/XULDocument.cpp
dom/xul/XULDocument.h
--- a/dom/xul/XULDocument.cpp
+++ b/dom/xul/XULDocument.cpp
@@ -143,40 +143,41 @@ struct BroadcasterMapEntry : public PLDH
 struct BroadcastListener {
     nsWeakPtr mListener;
     nsCOMPtr<nsIAtom> mAttribute;
 };
 
 Element*
 nsRefMapEntry::GetFirstElement()
 {
-    return static_cast<Element*>(mRefContentList.SafeElementAt(0));
+    return mRefContentList.SafeElementAt(0);
 }
 
 void
 nsRefMapEntry::AppendAll(nsCOMArray<nsIContent>* aElements)
 {
-    for (int32_t i = 0; i < mRefContentList.Count(); ++i) {
-        aElements->AppendObject(static_cast<nsIContent*>(mRefContentList[i]));
+    for (size_t i = 0; i < mRefContentList.Length(); ++i) {
+        aElements->AppendObject(mRefContentList[i]);
     }
 }
 
 bool
 nsRefMapEntry::AddElement(Element* aElement)
 {
-    if (mRefContentList.IndexOf(aElement) >= 0)
+    if (mRefContentList.Contains(aElement)) {
         return true;
+    }
     return mRefContentList.AppendElement(aElement);
 }
 
 bool
 nsRefMapEntry::RemoveElement(Element* aElement)
 {
     mRefContentList.RemoveElement(aElement);
-    return mRefContentList.Count() == 0;
+    return mRefContentList.IsEmpty();
 }
 
 //----------------------------------------------------------------------
 //
 // ctors & dtors
 //
 
 namespace mozilla {
--- a/dom/xul/XULDocument.h
+++ b/dom/xul/XULDocument.h
@@ -70,17 +70,17 @@ public:
   bool AddElement(mozilla::dom::Element* aElement);
   /**
    * @return true if aElement was removed and it was the last content for
    * this ref, so this entry should be removed from the map
    */
   bool RemoveElement(mozilla::dom::Element* aElement);
 
 private:
-  nsSmallVoidArray mRefContentList;
+  nsTArray<mozilla::dom::Element*> mRefContentList;
 };
 
 /**
  * The XUL document class
  */
 
 namespace mozilla {
 namespace dom {