Bug 1421541 - Inline and remove pref_LoadPrefsInDirList(). r=glandium
It has only one call site.
MozReview-Commit-ID: B0Qng6TI6PN
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -2801,19 +2801,16 @@ Preferences::HandleDirty()
PREF_DELAY_MS);
}
}
}
static nsresult
openPrefFile(nsIFile* aFile);
-static nsresult
-pref_LoadPrefsInDirList(const char* aListId);
-
static const char kTelemetryPref[] = "toolkit.telemetry.enabled";
static const char kOldTelemetryPref[] = "toolkit.telemetry.enabledPreRelease";
static const char kChannelPref[] = "app.update.channel";
// clang-format off
static const char kPrefFileHeader[] =
"# Mozilla User Preferences"
NS_LINEBREAK
@@ -4055,52 +4052,16 @@ pref_LoadPrefsInDir(nsIFile* aDir,
}
}
}
return rv;
}
static nsresult
-pref_LoadPrefsInDirList(const char* aListId)
-{
- nsresult rv;
- nsCOMPtr<nsIProperties> dirSvc(
- do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
- if (NS_FAILED(rv)) {
- return rv;
- }
-
- nsCOMPtr<nsISimpleEnumerator> list;
- dirSvc->Get(aListId, NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(list));
- if (!list) {
- return NS_OK;
- }
-
- bool hasMore;
- while (NS_SUCCEEDED(list->HasMoreElements(&hasMore)) && hasMore) {
- nsCOMPtr<nsISupports> elem;
- list->GetNext(getter_AddRefs(elem));
- if (!elem) {
- continue;
- }
-
- nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
- if (!path) {
- continue;
- }
-
- // Do we care if a file provided by this process fails to load?
- pref_LoadPrefsInDir(path, nullptr, 0);
- }
-
- return NS_OK;
-}
-
-static nsresult
pref_ReadPrefFromJar(nsZipArchive* aJarReader, const char* aName)
{
nsCString manifest;
MOZ_TRY_VAR(manifest,
URLPreloader::ReadZip(aJarReader, nsDependentCString(aName)));
Parser parser;
parser.Parse(manifest.get(), manifest.Length());
@@ -4242,19 +4203,43 @@ Preferences::InitInitialObjects()
for (uint32_t i = prefEntries.Length(); i--;) {
rv = pref_ReadPrefFromJar(appJarReader, prefEntries[i].get());
if (NS_FAILED(rv)) {
NS_WARNING("Error parsing preferences.");
}
}
}
- rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST);
+ nsCOMPtr<nsIProperties> dirSvc(
+ do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
NS_ENSURE_SUCCESS(
- rv, Err("pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST) failed"));
+ rv, Err("do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID) failed"));
+
+ nsCOMPtr<nsISimpleEnumerator> list;
+ dirSvc->Get(NS_APP_PREFS_DEFAULTS_DIR_LIST,
+ NS_GET_IID(nsISimpleEnumerator),
+ getter_AddRefs(list));
+ if (list) {
+ bool hasMore;
+ while (NS_SUCCEEDED(list->HasMoreElements(&hasMore)) && hasMore) {
+ nsCOMPtr<nsISupports> elem;
+ list->GetNext(getter_AddRefs(elem));
+ if (!elem) {
+ continue;
+ }
+
+ nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
+ if (!path) {
+ continue;
+ }
+
+ // Do we care if a file provided by this process fails to load?
+ pref_LoadPrefsInDir(path, nullptr, 0);
+ }
+ }
#ifdef MOZ_WIDGET_ANDROID
// Set up the correct default for toolkit.telemetry.enabled. If this build
// has MOZ_TELEMETRY_ON_BY_DEFAULT *or* we're on the beta channel, telemetry
// is on by default, otherwise not. This is necessary so that beta users who
// are testing final release builds don't flipflop defaults.
if (Preferences::GetType(kTelemetryPref, PrefValueKind::Default) ==
nsIPrefBranch::PREF_INVALID) {