1
Index: mozilla/toolkit/xre/nsXREDirProvider.cpp
2
===================================================================
3
--- mozilla.orig/toolkit/xre/nsXREDirProvider.cpp 2011-09-29 00:59:39.000000000 +0100
4
+++ mozilla/toolkit/xre/nsXREDirProvider.cpp 2011-09-29 10:22:10.700227676 +0100
8
static const char *const kAppendPrefDir[] = { "defaults", "preferences", nsnull };
9
+static const char *const kAppendSysPrefDir[] = { "defaults", "syspref", nsnull };
11
#ifdef DEBUG_bsmedberg
14
LoadAppDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
15
LoadDirsIntoArray(mAppBundleDirectories,
16
kAppendPrefDir, directories);
17
+ LoadAppDirIntoArray(mXULAppDir, kAppendSysPrefDir, directories);
18
+ LoadDirsIntoArray(mAppBundleDirectories,
19
+ kAppendSysPrefDir, directories);
21
rv = NS_NewArrayEnumerator(aResult, directories);
23
Index: mozilla/xpcom/io/nsAppDirectoryServiceDefs.h
24
===================================================================
25
--- mozilla.orig/xpcom/io/nsAppDirectoryServiceDefs.h 2011-09-29 00:59:46.000000000 +0100
26
+++ mozilla/xpcom/io/nsAppDirectoryServiceDefs.h 2011-09-29 10:22:10.700227676 +0100
29
#define NS_APP_DEFAULTS_50_DIR "DefRt" // The root dir of all defaults dirs
30
#define NS_APP_PREF_DEFAULTS_50_DIR "PrfDef"
31
+#define NS_APP_SYSPREF_DEFAULTS_50_DIR "SysPrfDef"
32
#define NS_APP_PROFILE_DEFAULTS_50_DIR "profDef" // The profile defaults of the "current"
33
// locale. Should be first choice.
34
#define NS_APP_PROFILE_DEFAULTS_NLOC_50_DIR "ProfDefNoLoc" // The profile defaults of the "default"
35
Index: mozilla/xpcom/io/nsAppFileLocationProvider.cpp
36
===================================================================
37
--- mozilla.orig/xpcom/io/nsAppFileLocationProvider.cpp 2011-09-29 00:59:46.000000000 +0100
38
+++ mozilla/xpcom/io/nsAppFileLocationProvider.cpp 2011-09-29 10:22:10.700227676 +0100
41
#define DEFAULTS_DIR_NAME NS_LITERAL_CSTRING("defaults")
42
#define DEFAULTS_PREF_DIR_NAME NS_LITERAL_CSTRING("pref")
43
+#define DEFAULTS_SYSPREF_DIR_NAME NS_LITERAL_CSTRING("syspref")
44
#define DEFAULTS_PROFILE_DIR_NAME NS_LITERAL_CSTRING("profile")
45
#define RES_DIR_NAME NS_LITERAL_CSTRING("res")
46
#define CHROME_DIR_NAME NS_LITERAL_CSTRING("chrome")
48
rv = localFile->AppendRelativeNativePath(DEFAULTS_PREF_DIR_NAME);
51
+ else if (nsCRT::strcmp(prop, NS_APP_SYSPREF_DEFAULTS_50_DIR) == 0)
53
+ rv = CloneMozBinDirectory(getter_AddRefs(localFile));
54
+ if (NS_SUCCEEDED(rv)) {
55
+ rv = localFile->AppendRelativeNativePath(DEFAULTS_DIR_NAME);
56
+ if (NS_SUCCEEDED(rv))
57
+ rv = localFile->AppendRelativeNativePath(DEFAULTS_SYSPREF_DIR_NAME);
60
else if (nsCRT::strcmp(prop, NS_APP_PROFILE_DEFAULTS_50_DIR) == 0 ||
61
nsCRT::strcmp(prop, NS_APP_PROFILE_DEFAULTS_NLOC_50_DIR) == 0)
63
Index: mozilla/modules/libpref/src/Preferences.cpp
64
===================================================================
65
--- mozilla.orig/modules/libpref/src/Preferences.cpp 2011-09-29 10:22:28.616227359 +0100
66
+++ mozilla/modules/libpref/src/Preferences.cpp 2011-09-29 10:26:43.716222825 +0100
67
@@ -1093,6 +1093,15 @@
69
NS_WARNING("Error parsing application default preferences.");
72
+ /* Load $gre/defaults/syspref/*.js */
73
+ rv = NS_GetSpecialDirectory(NS_APP_SYSPREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir));
74
+ NS_ENSURE_SUCCESS(rv, rv);
76
+ rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
78
+ NS_WARNING("Error parsing application system preferences.");
80
// Load jar:$app/omni.jar!/defaults/preferences/*.js
81
nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);