commit 1247163ecabf36d553311e7b9dbd7e2d5b586706
Author: Sukhbir Singh <sukhbir(a)torproject.org>
Date: Mon Jul 18 12:41:21 2016 -0400
Update build and config files for Instantbird
---
...e-the-default-Firefox-profile-director.mozpatch | 451 ---------------------
projects/instantbird/build | 2 +
projects/instantbird/config | 9 +-
3 files changed, 10 insertions(+), 452 deletions(-)
diff --git a/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch b/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
deleted file mode 100644
index 4447c70..0000000
--- a/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
+++ /dev/null
@@ -1,451 +0,0 @@
-From 48068e88b66ba37c725850331d099f10f9d34c90 Mon Sep 17 00:00:00 2001
-From: Kathy Brade <brade(a)pearlcrescent.com>
-Date: Fri, 18 Oct 2013 15:20:06 -0400
-Subject: Bug #9173: Change the default Firefox profile directory to be
- TBB-relative.
-
-This should eliminate our need to rely on a wrapper script that
-sets $HOME and launches Firefox with -profile.
-
-diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
-index a828d33..831a373 100644
---- a/toolkit/xre/nsXREDirProvider.cpp
-+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -32,6 +32,7 @@
- #include "nsArrayEnumerator.h"
- #include "nsEnumeratorUtils.h"
- #include "nsReadableUtils.h"
-+#include "nsXPCOMPrivate.h" // for XPCOM_FILE_PATH_SEPARATOR
- #include "mozilla/Services.h"
- #include "mozilla/Omnijar.h"
- #include "mozilla/Preferences.h"
-@@ -200,9 +201,6 @@ nsXREDirProvider::GetUserProfilesRootDir(nsIFile** aResult,
- aProfileName, aAppName, aVendorName);
-
- if (NS_SUCCEEDED(rv)) {
--#if !defined(XP_UNIX) || defined(XP_MACOSX)
-- rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
--#endif
- // We must create the profile directory here if it does not exist.
- nsresult tmp = EnsureDirectoryExists(file);
- if (NS_FAILED(tmp)) {
-@@ -225,9 +223,6 @@ nsXREDirProvider::GetUserProfilesLocalDir(nsIFile** aResult,
- aProfileName, aAppName, aVendorName);
-
- if (NS_SUCCEEDED(rv)) {
--#if !defined(XP_UNIX) || defined(XP_MACOSX)
-- rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
--#endif
- // We must create the profile directory here if it does not exist.
- nsresult tmp = EnsureDirectoryExists(file);
- if (NS_FAILED(tmp)) {
-@@ -1245,90 +1240,45 @@ nsresult
- nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile, bool aLocal)
- {
- // Copied from nsAppFileLocationProvider (more or less)
-- nsresult rv;
-+ NS_ENSURE_ARG_POINTER(aFile);
- nsCOMPtr<nsIFile> localDir;
-
--#if defined(XP_MACOSX)
-- FSRef fsRef;
-- OSType folderType;
-- if (aLocal) {
-- folderType = kCachedDataFolderType;
-- } else {
--#ifdef MOZ_THUNDERBIRD
-- folderType = kDomainLibraryFolderType;
--#else
-- folderType = kApplicationSupportFolderType;
--#endif
-- }
-- OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
-- NS_ENSURE_FALSE(err, NS_ERROR_FAILURE);
--
-- rv = NS_NewNativeLocalFile(EmptyCString(), true, getter_AddRefs(localDir));
-+ nsresult rv = GetAppDir()->Clone(getter_AddRefs(localDir));
- NS_ENSURE_SUCCESS(rv, rv);
-
-- nsCOMPtr<nsILocalFileMac> dirFileMac = do_QueryInterface(localDir);
-- NS_ENSURE_TRUE(dirFileMac, NS_ERROR_UNEXPECTED);
-+ int levelsToRemove = 0; // In FF21+, appDir points to browser subdirectory.
-+#if defined(XP_MACOSX)
-+ levelsToRemove += 1;
-+#endif
-+ while (localDir && (levelsToRemove > 0)) {
-+ // When crawling up the hierarchy, components named "." do not count.
-+ nsAutoCString removedName;
-+ rv = localDir->GetNativeLeafName(removedName);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ bool didRemove = !removedName.Equals(".");
-
-- rv = dirFileMac->InitWithFSRef(&fsRef);
-- NS_ENSURE_SUCCESS(rv, rv);
-+ // Remove a directory component.
-+ nsCOMPtr<nsIFile> parentDir;
-+ rv = localDir->GetParent(getter_AddRefs(parentDir));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ localDir = parentDir;
-
-- localDir = do_QueryInterface(dirFileMac, &rv);
--#elif defined(XP_IOS)
-- nsAutoCString userDir;
-- if (GetUIKitDirectory(aLocal, userDir)) {
-- rv = NS_NewNativeLocalFile(userDir, true, getter_AddRefs(localDir));
-- } else {
-- rv = NS_ERROR_FAILURE;
-- }
-- NS_ENSURE_SUCCESS(rv, rv);
--#elif defined(XP_WIN)
-- nsString path;
-- if (aLocal) {
-- rv = GetShellFolderPath(CSIDL_LOCAL_APPDATA, path);
-- if (NS_FAILED(rv))
-- rv = GetRegWindowsAppDataFolder(aLocal, path);
-- }
-- if (!aLocal || NS_FAILED(rv)) {
-- rv = GetShellFolderPath(CSIDL_APPDATA, path);
-- if (NS_FAILED(rv)) {
-- if (!aLocal)
-- rv = GetRegWindowsAppDataFolder(aLocal, path);
-- }
-+ if (didRemove)
-+ --levelsToRemove;
- }
-- NS_ENSURE_SUCCESS(rv, rv);
-
-- rv = NS_NewLocalFile(path, true, getter_AddRefs(localDir));
--#elif defined(MOZ_WIDGET_GONK)
-- rv = NS_NewNativeLocalFile(NS_LITERAL_CSTRING("/data/b2g"), true,
-- getter_AddRefs(localDir));
--#elif defined(XP_UNIX)
-- const char* homeDir = getenv("HOME");
-- if (!homeDir || !*homeDir)
-+ if (!localDir)
- return NS_ERROR_FAILURE;
-
--#ifdef ANDROID /* We want (ProfD == ProfLD) on Android. */
-- aLocal = false;
--#endif
-+ rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
-+ XPCOM_FILE_PATH_SEPARATOR "Data"
-+ XPCOM_FILE_PATH_SEPARATOR "Browser"));
-+ NS_ENSURE_SUCCESS(rv, rv);
-
- if (aLocal) {
-- // If $XDG_CACHE_HOME is defined use it, otherwise use $HOME/.cache.
-- const char* cacheHome = getenv("XDG_CACHE_HOME");
-- if (cacheHome && *cacheHome) {
-- rv = NS_NewNativeLocalFile(nsDependentCString(cacheHome), true,
-- getter_AddRefs(localDir));
-- } else {
-- rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
-- getter_AddRefs(localDir));
-- if (NS_SUCCEEDED(rv))
-- rv = localDir->AppendNative(NS_LITERAL_CSTRING(".cache"));
-- }
-- } else {
-- rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
-- getter_AddRefs(localDir));
-+ rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
--#else
--#error "Don't know how to get product dir on your platform"
--#endif
-
- NS_IF_ADDREF(*aFile = localDir);
- return rv;
-@@ -1541,48 +1491,25 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
- }
-
- nsAutoCString profile;
-- nsAutoCString appName;
-- nsAutoCString vendor;
- if (aProfileName && !aProfileName->IsEmpty()) {
- profile = *aProfileName;
-- } else if (aAppName) {
-- appName = *aAppName;
-- if (aVendorName) {
-- vendor = *aVendorName;
-- }
- } else if (gAppData->profile) {
- profile = gAppData->profile;
-- } else {
-- appName = gAppData->name;
-- vendor = gAppData->vendor;
- }
-
-- nsresult rv;
-+ nsresult rv = NS_ERROR_FAILURE;
-
- #if defined (XP_MACOSX)
- if (!profile.IsEmpty()) {
- rv = AppendProfileString(aFile, profile.get());
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
-- else {
-- // Note that MacOS ignores the vendor when creating the profile hierarchy -
-- // all application preferences directories live alongside one another in
-- // ~/Library/Application Support/
-- rv = aFile->AppendNative(appName);
-- }
-- NS_ENSURE_SUCCESS(rv, rv);
-
- #elif defined(XP_WIN)
- if (!profile.IsEmpty()) {
- rv = AppendProfileString(aFile, profile.get());
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
-- else {
-- if (!vendor.IsEmpty()) {
-- rv = aFile->AppendNative(vendor);
-- NS_ENSURE_SUCCESS(rv, rv);
-- }
-- rv = aFile->AppendNative(appName);
-- }
-- NS_ENSURE_SUCCESS(rv, rv);
-
- #elif defined(ANDROID)
- // The directory used for storing profiles
-@@ -1594,12 +1521,6 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
- rv = aFile->AppendNative(nsDependentCString("mozilla"));
- NS_ENSURE_SUCCESS(rv, rv);
- #elif defined(XP_UNIX)
-- nsAutoCString folder;
-- // Make it hidden (by starting with "."), except when local (the
-- // profile is already under ~/.cache or XDG_CACHE_HOME).
-- if (!aLocal)
-- folder.Assign('.');
--
- if (!profile.IsEmpty()) {
- // Skip any leading path characters
- const char* profileStart = profile.get();
-@@ -1608,31 +1529,17 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
-
- // On the off chance that someone wanted their folder to be hidden don't
- // let it become ".."
-- if (*profileStart == '.' && !aLocal)
-+ if (*profileStart == '.')
- profileStart++;
-
-+ // Make it hidden (by starting with ".").
-+ nsAutoCString folder(".");
- folder.Append(profileStart);
- ToLowerCase(folder);
-
- rv = AppendProfileString(aFile, folder.BeginReading());
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
-- else {
-- if (!vendor.IsEmpty()) {
-- folder.Append(vendor);
-- ToLowerCase(folder);
--
-- rv = aFile->AppendNative(folder);
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- folder.Truncate();
-- }
--
-- folder.Append(appName);
-- ToLowerCase(folder);
--
-- rv = aFile->AppendNative(folder);
-- }
-- NS_ENSURE_SUCCESS(rv, rv);
-
- #else
- #error "Don't know how to get profile path on your platform"
-diff --git a/toolkit/xre/nsXREDirProvider.h b/toolkit/xre/nsXREDirProvider.h
-index eb27ed2..1985f66 100644
---- a/toolkit/xre/nsXREDirProvider.h
-+++ b/toolkit/xre/nsXREDirProvider.h
-@@ -56,16 +56,16 @@ public:
-
- nsresult GetProfileDefaultsDir(nsIFile* *aResult);
-
-- static nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
-+ nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
- return GetUserDataDirectory(aFile, false, nullptr, nullptr, nullptr);
- }
-- static nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
-+ nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
- return GetUserDataDirectory(aFile, true, nullptr, nullptr, nullptr);
- }
-
- // By default GetUserDataDirectory gets profile path from gAppData,
- // but that can be overridden by using aProfileName/aAppName/aVendorName.
-- static nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
-+ nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
- const nsACString* aProfileName,
- const nsACString* aAppName,
- const nsACString* aVendorName);
-@@ -102,8 +102,8 @@ public:
-
- protected:
- nsresult GetFilesInternal(const char* aProperty, nsISimpleEnumerator** aResult);
-- static nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
-- static nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
-+ nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
-+ nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
- #if defined(XP_UNIX) || defined(XP_MACOSX)
- static nsresult GetSystemExtensionsDirectory(nsIFile** aFile);
- #endif
-diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
-index 45732e4..bc62f71 100644
---- a/xpcom/io/moz.build
-+++ b/xpcom/io/moz.build
-@@ -134,4 +134,7 @@ FINAL_LIBRARY = 'xul'
- if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
- DEFINES['HAVE_USR_LIB64_DIR'] = True
-
--LOCAL_INCLUDES += ['!..']
-+LOCAL_INCLUDES += [
-+ '!..',
-+ '../build',
-+]
-diff --git a/xpcom/io/nsAppFileLocationProvider.cpp b/xpcom/io/nsAppFileLocationProvider.cpp
-index 1211c39..039a89e 100644
---- a/xpcom/io/nsAppFileLocationProvider.cpp
-+++ b/xpcom/io/nsAppFileLocationProvider.cpp
-@@ -15,6 +15,7 @@
- #include "nsISimpleEnumerator.h"
- #include "prenv.h"
- #include "nsCRT.h"
-+#include "nsXPCOMPrivate.h" // for XPCOM_FILE_PATH_SEPARATOR
-
- #if defined(MOZ_WIDGET_COCOA)
- #include <Carbon/Carbon.h>
-@@ -281,9 +282,8 @@ nsAppFileLocationProvider::CloneMozBinDirectory(nsIFile** aLocalFile)
- //----------------------------------------------------------------------------------------
- // GetProductDirectory - Gets the directory which contains the application data folder
- //
--// UNIX : ~/.mozilla/
--// WIN : <Application Data folder on user's machine>\Mozilla
--// Mac : :Documents:Mozilla:
-+// UNIX and WIN : <App Folder>/TorBrowser/Data/Browser
-+// Mac : <App Folder>/../../TorBrowser/Data/Browser
- //----------------------------------------------------------------------------------------
- NS_METHOD
- nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
-@@ -297,48 +297,45 @@ nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
- bool exists;
- nsCOMPtr<nsIFile> localDir;
-
--#if defined(MOZ_WIDGET_COCOA)
-- FSRef fsRef;
-- OSType folderType = aLocal ? (OSType)kCachedDataFolderType :
-- (OSType)kDomainLibraryFolderType;
-- OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
-- if (err) {
-- return NS_ERROR_FAILURE;
-+ rv = CloneMozBinDirectory(getter_AddRefs(localDir));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ int levelsToRemove = 0; // In FF21+, bin dir points to browser subdirectory.
-+#if defined(XP_MACOSX)
-+ levelsToRemove += 1;
-+#endif
-+ while (localDir && (levelsToRemove > 0)) {
-+ // When crawling up the hierarchy, components named "." do not count.
-+ nsAutoCString removedName;
-+ rv = localDir->GetNativeLeafName(removedName);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ bool didRemove = !removedName.Equals(".");
-+
-+ // Remove a directory component.
-+ nsCOMPtr<nsIFile> parentDir;
-+ rv = localDir->GetParent(getter_AddRefs(parentDir));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ localDir = parentDir;
-+
-+ if (didRemove) {
-+ --levelsToRemove;
-+ }
- }
-- NS_NewLocalFile(EmptyString(), true, getter_AddRefs(localDir));
-+
- if (!localDir) {
- return NS_ERROR_FAILURE;
- }
-- nsCOMPtr<nsILocalFileMac> localDirMac(do_QueryInterface(localDir));
-- rv = localDirMac->InitWithFSRef(&fsRef);
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
--#elif defined(XP_WIN)
-- nsCOMPtr<nsIProperties> directoryService =
-- do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
-- const char* prop = aLocal ? NS_WIN_LOCAL_APPDATA_DIR : NS_WIN_APPDATA_DIR;
-- rv = directoryService->Get(prop, NS_GET_IID(nsIFile), getter_AddRefs(localDir));
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
--#elif defined(XP_UNIX)
-- rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), true,
-- getter_AddRefs(localDir));
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
--#else
--#error dont_know_how_to_get_product_dir_on_your_platform
--#endif
-
-- rv = localDir->AppendRelativeNativePath(DEFAULT_PRODUCT_DIR);
-- if (NS_FAILED(rv)) {
-- return rv;
-+ rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
-+ XPCOM_FILE_PATH_SEPARATOR "Data"
-+ XPCOM_FILE_PATH_SEPARATOR "Browser"));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ if (aLocal) {
-+ rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
-+
- rv = localDir->Exists(&exists);
-
- if (NS_SUCCEEDED(rv) && !exists) {
-@@ -357,10 +354,6 @@ nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
-
- //----------------------------------------------------------------------------------------
- // GetDefaultUserProfileRoot - Gets the directory which contains each user profile dir
--//
--// UNIX : ~/.mozilla/
--// WIN : <Application Data folder on user's machine>\Mozilla\Profiles
--// Mac : :Documents:Mozilla:Profiles:
- //----------------------------------------------------------------------------------------
- NS_METHOD
- nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile** aLocalFile,
-@@ -378,23 +371,6 @@ nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile** aLocalFile,
- return rv;
- }
-
--#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
-- // These 3 platforms share this part of the path - do them as one
-- rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("Profiles"));
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
--
-- bool exists;
-- rv = localDir->Exists(&exists);
-- if (NS_SUCCEEDED(rv) && !exists) {
-- rv = localDir->Create(nsIFile::DIRECTORY_TYPE, 0775);
-- }
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
--#endif
--
- localDir.forget(aLocalFile);
-
- return rv;
---
-cgit v0.10.2
-
diff --git a/projects/instantbird/build b/projects/instantbird/build
index 1b8b058..5039dcb 100644
--- a/projects/instantbird/build
+++ b/projects/instantbird/build
@@ -89,6 +89,8 @@ then
done
fi
+cp ../$rootdir/aboutTBUpdateLogo.png browser/base/content/abouttbupdate/
+
if ls -1 $rootdir/*.nsspatch > /dev/null 2>&1
then
cd security/nss
diff --git a/projects/instantbird/config b/projects/instantbird/config
index 27f9d6f..3c5871d 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -121,7 +121,14 @@ input_files:
enable: '[% c("var/windows") %]'
- filename: trac-18331.mozpatch
enable: '[% c("var/osx") %]'
- - filename: Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
+ - filename: Change-the-default-Firefox-profile-director-bug-9173.mozpatch
+ - filename: Firefox-update-process-bug-4234.mozpatch
+ - filename: Improve-profile-access-bug-14631-first.mozpatch
+ - filename: Improve-profile-access-bug-14631-second.mozpatch
+ - filename: Mac-outside-app-data-bug-13252.mozpatch
+ - filename: Update-load-local-changes-bug-14392-first.mozpatch
+ - filename: Update-load-local-changes-bug-16940-second.mozpatch
+ - filename: aboutTBUpdateLogo.png
- filename: trac-16475.mozpatch
- filename: OSX-package-as-tar.bz2.mozpatch
enable: '[% c("var/osx") %]'