chromereg-gc
author Benjamin Smedberg <benjamin@smedbergs.us>
Sat, 26 Jul 2008 22:49:39 -0400
changeset 167 a4da40849f5436e629c5732f4368c6c48189637f
parent 55 ec311a0cdbebd512eaf9434b57d952f72a639ce6
permissions -rw-r--r--
State as of now

diff --git a/chrome/src/nsChromeRegistry.cpp b/chrome/src/nsChromeRegistry.cpp
--- a/chrome/src/nsChromeRegistry.cpp
+++ b/chrome/src/nsChromeRegistry.cpp
@@ -375,8 +375,8 @@ nsChromeRegistry::InitEntry(PLDHashTable
 
 const PLDHashTableOps
 nsChromeRegistry::kTableOps = {
-  PL_DHashAllocTable,
-  PL_DHashFreeTable,
+  GCAllocTable,
+  GCFreeTable,
   HashKey,
   MatchKey,
   PL_DHashMoveEntryStub,
diff --git a/chrome/src/nsChromeRegistry.h b/chrome/src/nsChromeRegistry.h
--- a/chrome/src/nsChromeRegistry.h
+++ b/chrome/src/nsChromeRegistry.h
@@ -134,7 +134,7 @@ private:
   NS_HIDDEN_(nsresult) ProcessNewChromeBuffer(char *aBuffer, PRInt32 aLength, nsIURI* aManifest);
 
 public:
-  struct ProviderEntry
+  struct ProviderEntry : XPCOMGCFinalizedObject, public MMgc::GCFinalizable
   {
     ProviderEntry(const nsACString& aProvider, nsIURI* aBase) :
       provider(aProvider),
@@ -169,7 +169,7 @@ public:
   private:
     ProviderEntry* GetProvider(const nsACString& aPreferred, MatchType aType);
 
-    nsVoidArray mArray;
+    nsVoidArrayBase<GCAllocator> mArray;
   };
 
   struct PackageEntry : public PLDHashEntryHdr
@@ -234,7 +234,7 @@ public:
     const nsCOMArray<nsIURI>* GetArray(nsIURI* aBase);
 
   private:
-    nsTHashtable<OverlayListEntry> mTable;
+    nsTHashtable<OverlayListEntry, GCAllocator> mTable;
   };
 
 private: