From edd5c4f07903ea5b0e87f5c5b7e29142001c91b9 Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Tue, 8 Feb 2011 10:54:52 -0800 Subject: [PATCH] Bug 595522 - Enumerate all prefs in defaults/pref, r=bsmedberg a=blocking2.0 --- modules/libpref/src/nsPrefService.cpp | 74 ++++++++++----------------- 1 file changed, 26 insertions(+), 48 deletions(-) diff --git a/modules/libpref/src/nsPrefService.cpp b/modules/libpref/src/nsPrefService.cpp index d858a841e956..55eeb51f8d76 100644 --- a/modules/libpref/src/nsPrefService.cpp +++ b/modules/libpref/src/nsPrefService.cpp @@ -805,7 +805,6 @@ static nsresult pref_LoadPrefsInDirList(const char *listId) static nsresult pref_InitDefaults() { nsCOMPtr greprefsFile; - nsCOMPtr defaultPrefDir; nsresult rv; rv = NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(greprefsFile)); @@ -819,35 +818,6 @@ static nsresult pref_InitDefaults() NS_WARNING("Error parsing GRE default preferences. Is this an old-style embedding app?"); } - // now parse the "application" default preferences - rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir)); - NS_ENSURE_SUCCESS(rv, rv); - - /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ - static const char* specialFiles[] = { -#if defined(XP_MAC) || defined(XP_MACOSX) - "macprefs.js" -#elif defined(XP_WIN) - "winpref.js" -#elif defined(XP_UNIX) - "unix.js" -#if defined(VMS) - , "openvms.js" -#elif defined(_AIX) - , "aix.js" -#endif -#elif defined(XP_OS2) - "os2pref.js" -#elif defined(XP_BEOS) - "beos.js" -#endif - }; - - rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); - if (NS_FAILED(rv)) { - NS_WARNING("Error parsing application default preferences."); - } - return NS_OK; } @@ -896,24 +866,6 @@ static nsresult pref_InitAppDefaultsFromOmnijar() NS_WARNING("Error parsing preferences."); } - nsCOMPtr file; - // Bug 591866 - channel-prefs.js should not be in omni.jar - rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(file)); - if (NS_FAILED(rv)) { - NS_WARNING("Error getting default prefs dir"); - return NS_OK; - } - - rv = file->AppendNative(NS_LITERAL_CSTRING("channel-prefs.js")); - if (NS_FAILED(rv)) { - NS_WARNING("Error setting channel-prefs.js path"); - return NS_OK; - } - - rv = openPrefFile(file); - if (NS_FAILED(rv)) - NS_WARNING("Error reading channel-prefs.js"); - return NS_OK; } #endif @@ -930,6 +882,32 @@ static nsresult pref_InitInitialObjects() #endif NS_ENSURE_SUCCESS(rv, rv); + nsCOMPtr defaultPrefDir; + // now parse the "application" default preferences + rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir)); + NS_ENSURE_SUCCESS(rv, rv); + + /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ + static const char* specialFiles[] = { +#if defined(XP_MAC) || defined(XP_MACOSX) + "macprefs.js" +#elif defined(XP_WIN) + "winpref.js" +#elif defined(XP_UNIX) + "unix.js" +#if defined(_AIX) + , "aix.js" +#endif +#elif defined(XP_OS2) + "os2pref.js" +#endif + }; + + rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); + if (NS_FAILED(rv)) { + NS_WARNING("Error parsing application default preferences."); + } + rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST); NS_ENSURE_SUCCESS(rv, rv);