Bug 1415799 - Inline and remove PREF_Cleanup. r=glandium draft
authorNicholas Nethercote <nnethercote@mozilla.com>
Thu, 09 Nov 2017 17:56:29 +1100
changeset 695470 cdc081daa3eda689c7f0cc2a02587b858167dbef
parent 695469 64985ea444757e1dff9c9765d2512a133e523e57
child 695471 6936c54990bd01388508c429186aa6d3e16ee63e
push id88417
push usernnethercote@mozilla.com
push dateThu, 09 Nov 2017 07:02:38 +0000
reviewersglandium
bugs1415799
milestone58.0a1
Bug 1415799 - Inline and remove PREF_Cleanup. r=glandium It has a single call site. MozReview-Commit-ID: DoE5BlEA9a6
modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -384,37 +384,16 @@ PREF_CleanupPrefs()
 {
   if (gHashTable) {
     delete gHashTable;
     gHashTable = nullptr;
     gPrefNameArena.Clear();
   }
 }
 
-// Frees the callback list. Should be called at program exit.
-static void
-PREF_Cleanup()
-{
-  NS_ASSERTION(!gCallbacksInProgress,
-               "PREF_Cleanup was called while gCallbacksInProgress is true!");
-
-  CallbackNode* node = gFirstCallback;
-  CallbackNode* next_node;
-
-  while (node) {
-    next_node = node->mNext;
-    free(const_cast<char*>(node->mDomain));
-    free(node);
-    node = next_node;
-  }
-  gLastPriorityNode = gFirstCallback = nullptr;
-
-  PREF_CleanupPrefs();
-}
-
 // Assign to aResult a quoted, escaped copy of aOriginal.
 static void
 StrEscape(const char* aOriginal, nsCString& aResult)
 {
   if (aOriginal == nullptr) {
     aResult.AssignLiteral("\"\"");
     return;
   }
@@ -3678,17 +3657,29 @@ Preferences::Preferences()
 
 Preferences::~Preferences()
 {
   MOZ_ASSERT(!sPreferences);
 
   delete gCacheData;
   gCacheData = nullptr;
 
-  PREF_Cleanup();
+  NS_ASSERTION(!gCallbacksInProgress,
+               "~Preferences was called while gCallbacksInProgress is true!");
+
+  CallbackNode* node = gFirstCallback;
+  while (node) {
+    CallbackNode* next_node = node->mNext;
+    free(const_cast<char*>(node->mDomain));
+    free(node);
+    node = next_node;
+  }
+  gLastPriorityNode = gFirstCallback = nullptr;
+
+  PREF_CleanupPrefs();
 }
 
 //
 // nsISupports Implementation
 //
 
 NS_IMPL_ADDREF(Preferences)
 NS_IMPL_RELEASE(Preferences)