firefox: prepare for firefox 72

This commit is contained in:
Andreas Rammhold 2020-01-07 18:40:56 +01:00
parent 6da3b5e8b7
commit 6d8208e373
2 changed files with 14 additions and 103 deletions

View File

@ -110,12 +110,16 @@ let
url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch";
sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp";
})
] ++ lib.optional (lib.versionAtLeast ffversion "71") ./fix-ff71-lto.patch
]
++ lib.optional (lib.versionAtLeast ffversion "71") (fetchpatch {
url = "https://phabricator.services.mozilla.com/D56873?download=true";
sha256 = "183949phd2n27nhiq85a04j4fjn0jxmldic6wcjrczsd8g2rrr5k";
})
++ patches;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (rec {
name = "${pname}-unwrapped-${version}";
version = browserVersion;
@ -363,4 +367,11 @@ stdenv.mkDerivation rec {
inherit browserName;
} // lib.optionalAttrs gtk3Support { inherit gtk3; };
}
} //
# the build system verifies checksums of the bundled rust sources
# ./third_party/rust is be patched by our libtool fixup code in stdenv
# unfortunately we can't just set this to `false` when we do not want it.
# See https://github.com/NixOS/nixpkgs/issues/77289 for more details
lib.optionalAttrs (lib.versionAtLeast ffversion "72") {
dontFixLibtool = true;
})

View File

@ -1,100 +0,0 @@
Original Patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6
Also fixes the issues with dom localstorage.
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::DoDatabaseWork(
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
- ? NS_LITERAL_CSTRING("")
- : NS_LITERAL_CSTRING("OR REPLACE ");
rv = aConnection->GetCachedStatement(
- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
+ NS_LITERAL_CSTRING("INSERT ") +
+ ((!mOverwrite || keyUnset)
+ ? NS_LITERAL_CSTRING("")
+ : NS_LITERAL_CSTRING("OR REPLACE ")) +
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
@@ -26076,9 +26076,6 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& indexTable = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26099,7 +26096,9 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
"object_data.file_ids, "
"object_data.data "
"FROM ") +
- indexTable +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
NS_LITERAL_CSTRING(
" AS index_table "
"JOIN object_data "
@@ -26198,9 +26197,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& table = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26218,7 +26214,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
NS_LITERAL_CSTRING(
"object_data_key "
" FROM ") +
- table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
+ NS_LITERAL_CSTRING(" WHERE index_id = :") +
kStmtParamNameId;
const auto keyRangeClause =
diff --git a/dom/localstorage/ActorsParent.cpp b/dom/localstorage/ActorsParent.cpp
index 9c46c20670..642cef1701 100644
--- a/dom/localstorage/ActorsParent.cpp
+++ b/dom/localstorage/ActorsParent.cpp
@@ -6959,13 +6959,10 @@ nsresult PrepareDatastoreOp::Start() {
MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
MOZ_ASSERT(MayProceed());
- const LSRequestCommonParams& commonParams =
- mForPreload
- ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
- : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
-
const PrincipalInfo& storagePrincipalInfo =
- commonParams.storagePrincipalInfo();
+ mForPreload
+ ? mParams.get_LSRequestPreloadDatastoreParams().commonParams().storagePrincipalInfo()
+ : mParams.get_LSRequestPrepareDatastoreParams().commonParams().storagePrincipalInfo();
if (storagePrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo) {
QuotaManager::GetInfoForChrome(&mSuffix, &mGroup, &mOrigin);
@@ -6996,10 +6993,9 @@ nsresult PrepareDatastoreOp::CheckExistingOperations() {
return NS_ERROR_FAILURE;
}
- const LSRequestCommonParams& commonParams =
- mForPreload
- ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
- : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+ const LSRequestCommonParams& preloadCommonParams = mParams.get_LSRequestPreloadDatastoreParams().commonParams();
+ const LSRequestCommonParams& prepareCommonParams = mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+ const LSRequestCommonParams& commonParams = mForPreload ? preloadCommonParams : prepareCommonParams;
const PrincipalInfo& storagePrincipalInfo =
commonParams.storagePrincipalInfo();