mirror of
https://github.com/daijro/camoufox.git
synced 2026-09-09 16:02:28 +00:00
158 lines
5.7 KiB
Diff
158 lines
5.7 KiB
Diff
diff --git a/toolkit/components/extensions/NativeManifests.sys.mjs b/toolkit/components/extensions/NativeManifests.sys.mjs
|
|
index 59313e821f..f3a7caa057 100644
|
|
--- a/toolkit/components/extensions/NativeManifests.sys.mjs
|
|
+++ b/toolkit/components/extensions/NativeManifests.sys.mjs
|
|
@@ -40,6 +40,8 @@
|
|
let dirs = [
|
|
Services.dirsvc.get("XREUserNativeManifests", Ci.nsIFile).path,
|
|
Services.dirsvc.get("XRESysNativeManifests", Ci.nsIFile).path,
|
|
+ Services.dirsvc.get("XREMozUserNativeManifests", Ci.nsIFile).path,
|
|
+ Services.dirsvc.get("XREMozSysNativeManifests", Ci.nsIFile).path,
|
|
];
|
|
this._lookup = (type, name, context) =>
|
|
this._tryPaths(type, name, dirs, context);
|
|
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
|
|
index 9c94cb8808..af2dbdbf3f 100644
|
|
--- a/toolkit/xre/nsXREDirProvider.cpp
|
|
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
|
@@ -278,23 +278,25 @@
|
|
* On Linux this is /usr/{lib,lib64}/mozilla
|
|
* (for 32- and 64-bit systems respsectively)
|
|
*/
|
|
-static nsresult GetSystemParentDirectory(nsIFile** aFile) {
|
|
+static nsresult GetSystemParentDirectory(nsIFile** aFile,
|
|
+ nsCString aName = "LibreWolf"_ns) {
|
|
nsresult rv;
|
|
nsCOMPtr<nsIFile> localDir;
|
|
# if defined(XP_MACOSX)
|
|
rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
|
|
getter_AddRefs(localDir));
|
|
if (NS_SUCCEEDED(rv)) {
|
|
- rv = localDir->AppendNative("Mozilla"_ns);
|
|
+ rv = localDir->AppendNative(aName);
|
|
}
|
|
# else
|
|
- constexpr auto dirname =
|
|
+ ToLowerCase(aName);
|
|
+ nsCString dirname =
|
|
# ifdef HAVE_USR_LIB64_DIR
|
|
- "/usr/lib64/mozilla"_ns
|
|
+ "/usr/lib64/"_ns + aName
|
|
# elif defined(__OpenBSD__) || defined(__FreeBSD__)
|
|
- "/usr/local/lib/mozilla"_ns
|
|
+ "/usr/local/lib/"_ns + aName
|
|
# else
|
|
- "/usr/lib/mozilla"_ns
|
|
+ "/usr/lib/"_ns + aName
|
|
# endif
|
|
;
|
|
rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
|
|
@@ -362,10 +364,20 @@
|
|
#if defined(XP_UNIX) || defined(XP_MACOSX)
|
|
else if (!strcmp(aProperty, XRE_SYS_NATIVE_MANIFESTS)) {
|
|
rv = ::GetSystemParentDirectory(getter_AddRefs(file));
|
|
+ } else if (!strcmp(aProperty, XRE_MOZ_SYS_NATIVE_MANIFESTS)) {
|
|
+ rv = ::GetSystemParentDirectory(getter_AddRefs(file), "Mozilla"_ns);
|
|
} else if (!strcmp(aProperty, XRE_USER_NATIVE_MANIFESTS)) {
|
|
rv = GetUserDataDirectoryHome(getter_AddRefs(file), false);
|
|
NS_ENSURE_SUCCESS(rv, rv);
|
|
# if defined(XP_MACOSX)
|
|
+ rv = file->AppendNative("LibreWolf"_ns);
|
|
+# else // defined(XP_MACOSX)
|
|
+ rv = file->AppendNative(".librewolf"_ns);
|
|
+# endif // defined(XP_MACOSX)
|
|
+ } else if (!strcmp(aProperty, XRE_MOZ_USER_NATIVE_MANIFESTS)) {
|
|
+ rv = GetUserDataDirectoryHome(getter_AddRefs(file), false);
|
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
|
+# if defined(XP_MACOSX)
|
|
rv = file->AppendNative("Mozilla"_ns);
|
|
# else // defined(XP_MACOSX)
|
|
rv = file->AppendNative(".mozilla"_ns);
|
|
@@ -398,9 +410,10 @@
|
|
else if (!strcmp(aProperty, XRE_SYS_SHARE_EXTENSION_PARENT_DIR)) {
|
|
# ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
|
# if defined(__OpenBSD__) || defined(__FreeBSD__)
|
|
- static const char* const sysLExtDir = "/usr/local/share/mozilla/extensions";
|
|
+ static const char* const sysLExtDir =
|
|
+ "/usr/local/share/librewolf/extensions";
|
|
# else
|
|
- static const char* const sysLExtDir = "/usr/share/mozilla/extensions";
|
|
+ static const char* const sysLExtDir = "/usr/share/librewolf/extensions";
|
|
# endif
|
|
rv = NS_NewNativeLocalFile(nsDependentCString(sysLExtDir),
|
|
getter_AddRefs(file));
|
|
@@ -926,13 +939,7 @@
|
|
}
|
|
appDirPath = Substring(appDirPath, 1, dotIndex - 1);
|
|
|
|
- bool hasVendor = GetAppVendor() && strlen(GetAppVendor()) != 0;
|
|
- if (hasVendor || GetAppName()) {
|
|
- if (NS_FAILED(localDir->AppendNative(
|
|
- nsDependentCString(hasVendor ? GetAppVendor() : GetAppName())))) {
|
|
- return NS_ERROR_FAILURE;
|
|
- }
|
|
- } else if (NS_FAILED(localDir->AppendNative("Mozilla"_ns))) {
|
|
+ if (NS_FAILED(localDir->AppendNative("LibreWolf"_ns))) {
|
|
return NS_ERROR_FAILURE;
|
|
}
|
|
|
|
@@ -1192,7 +1199,7 @@
|
|
|
|
#if defined(XP_MACOSX) || defined(XP_WIN)
|
|
|
|
- static const char* const sXR = "Mozilla";
|
|
+ static const char* const sXR = "LibreWolf";
|
|
rv = aFile->AppendNative(nsDependentCString(sXR));
|
|
NS_ENSURE_SUCCESS(rv, rv);
|
|
|
|
@@ -1202,7 +1209,7 @@
|
|
|
|
#elif defined(XP_UNIX)
|
|
|
|
- static const char* const sXR = ".mozilla";
|
|
+ static const char* const sXR = ".librewolf";
|
|
rv = aFile->AppendNative(nsDependentCString(sXR));
|
|
NS_ENSURE_SUCCESS(rv, rv);
|
|
|
|
@@ -1253,10 +1260,6 @@
|
|
if (!profile.IsEmpty()) {
|
|
rv = AppendProfileString(aFile, profile.get());
|
|
} else {
|
|
- if (!vendor.IsEmpty()) {
|
|
- rv = aFile->AppendNative(vendor);
|
|
- NS_ENSURE_SUCCESS(rv, rv);
|
|
- }
|
|
rv = aFile->AppendNative(appName);
|
|
}
|
|
NS_ENSURE_SUCCESS(rv, rv);
|
|
@@ -1288,16 +1291,6 @@
|
|
|
|
rv = AppendProfileString(aFile, folder.BeginReading());
|
|
} else {
|
|
- if (!vendor.IsEmpty()) {
|
|
- folder.Append(vendor);
|
|
- ToLowerCase(folder);
|
|
-
|
|
- rv = aFile->AppendNative(folder);
|
|
- NS_ENSURE_SUCCESS(rv, rv);
|
|
-
|
|
- folder.Truncate();
|
|
- }
|
|
-
|
|
// This can be the case in tests.
|
|
if (!appName.IsEmpty()) {
|
|
folder.Append(appName);
|
|
diff --git a/xpcom/build/nsXULAppAPI.h b/xpcom/build/nsXULAppAPI.h
|
|
index 28a2a68c63..b0917fb9b8 100644
|
|
--- a/xpcom/build/nsXULAppAPI.h
|
|
+++ b/xpcom/build/nsXULAppAPI.h
|
|
@@ -116,6 +116,8 @@
|
|
*/
|
|
# define XRE_SYS_NATIVE_MANIFESTS "XRESysNativeManifests"
|
|
# define XRE_USER_NATIVE_MANIFESTS "XREUserNativeManifests"
|
|
+# define XRE_MOZ_SYS_NATIVE_MANIFESTS "XREMozSysNativeManifests"
|
|
+# define XRE_MOZ_USER_NATIVE_MANIFESTS "XREMozUserNativeManifests"
|
|
#endif
|
|
|
|
/**
|