Bug 1415799 - Inline and remove PREF_Cleanup. r=glandium
It has a single call site.
MozReview-Commit-ID: DoE5BlEA9a6
--- 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)