[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-115.10.0esr-13.5-1] fixup! Bug 9173: Change the default Firefox profile directory to be relative.
richard (@richard)
git at gitlab.torproject.org
Wed Apr 17 18:10:53 UTC 2024
richard pushed to branch tor-browser-115.10.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
795d4d37 by Pier Angelo Vendrame at 2024-04-17T17:59:38+00:00
fixup! Bug 9173: Change the default Firefox profile directory to be relative.
Bug 42519: Disable portable mode also if is-packaged-app is present.
That is the file Firefox uses for .deb packages.
- - - - -
2 changed files:
- toolkit/xre/nsXREDirProvider.cpp
- xpcom/io/nsAppFileLocationProvider.cpp
Changes:
=====================================
toolkit/xre/nsXREDirProvider.cpp
=====================================
@@ -1285,19 +1285,30 @@ nsresult nsXREDirProvider::GetPortableDataDir(nsIFile** aFile,
}
# endif
- nsCOMPtr<nsIFile> systemInstallFile;
- rv = exeDir->Clone(getter_AddRefs(systemInstallFile));
- NS_ENSURE_SUCCESS(rv, rv);
- rv = systemInstallFile->AppendNative("system-install"_ns);
- NS_ENSURE_SUCCESS(rv, rv);
+# if defined(MOZ_WIDGET_GTK)
+ // On Linux, Firefox supports the is-packaged-app for the .deb distribution.
+ // We cannot use mozilla::widget::IsPackagedAppFileExists because it relies on
+ // this service to be initialized, but this function is called during the
+ // initialization. Therefore, we need to re-implement this check.
+ nsLiteralCString systemInstallNames[] = {"system-install"_ns,
+ "is-packaged-app"_ns};
+# else
+ nsLiteralCString systemInstallNames[] = {"system-install"_ns};
+# endif
+ for (const nsLiteralCString& fileName : systemInstallNames) {
+ nsCOMPtr<nsIFile> systemInstallFile;
+ rv = exeDir->Clone(getter_AddRefs(systemInstallFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = systemInstallFile->AppendNative(fileName);
+ NS_ENSURE_SUCCESS(rv, rv);
- bool exists = false;
- rv = systemInstallFile->Exists(&exists);
- NS_ENSURE_SUCCESS(rv, rv);
- if (exists) {
- aIsPortable = false;
- gDataDirPortable.emplace(nullptr);
- return NS_OK;
+ bool exists = false;
+ rv = systemInstallFile->Exists(&exists);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (exists) {
+ gDataDirPortable.emplace(nullptr);
+ return NS_OK;
+ }
}
nsCOMPtr<nsIFile> localDir = exeDir;
=====================================
xpcom/io/nsAppFileLocationProvider.cpp
=====================================
@@ -195,18 +195,27 @@ static nsresult SetupPortableMode(nsIFile** aDirectory, bool aLocal,
}
# endif
- nsCOMPtr<nsIFile> systemInstallFile;
- rv = exeDir->Clone(getter_AddRefs(systemInstallFile));
- NS_ENSURE_SUCCESS(rv, rv);
- rv = systemInstallFile->AppendNative("system-install"_ns);
- NS_ENSURE_SUCCESS(rv, rv);
+# if defined(MOZ_WIDGET_GTK)
+ // On Linux, Firefox supports the is-packaged-app for the .deb distribution.
+ nsLiteralCString systemInstallNames[] = {"system-install"_ns,
+ "is-packaged-app"_ns};
+# else
+ nsLiteralCString systemInstallNames[] = {"system-install"_ns};
+# endif
+ for (const nsLiteralCString& fileName : systemInstallNames) {
+ nsCOMPtr<nsIFile> systemInstallFile;
+ rv = exeDir->Clone(getter_AddRefs(systemInstallFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = systemInstallFile->AppendNative(fileName);
+ NS_ENSURE_SUCCESS(rv, rv);
- bool exists = false;
- rv = systemInstallFile->Exists(&exists);
- NS_ENSURE_SUCCESS(rv, rv);
- if (exists) {
- aIsPortable = false;
- return NS_OK;
+ bool exists = false;
+ rv = systemInstallFile->Exists(&exists);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (exists) {
+ aIsPortable = false;
+ return NS_OK;
+ }
}
nsCOMPtr<nsIFile> localDir = exeDir;
@@ -226,6 +235,7 @@ static nsresult SetupPortableMode(nsIFile** aDirectory, bool aLocal,
NS_ENSURE_SUCCESS(rv, rv);
}
+ bool exists = false;
rv = localDir->Exists(&exists);
NS_ENSURE_SUCCESS(rv, rv);
if (!exists) {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/795d4d379c05bcad71d3d4103362b6fd4de65a85
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/795d4d379c05bcad71d3d4103362b6fd4de65a85
You're receiving this email because of your account on gitlab.torproject.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20240417/541bd0e0/attachment-0001.htm>
More information about the tor-commits
mailing list