diff --git a/community/firefox-esr/APKBUILD b/community/firefox-esr/APKBUILD index ff3e2342779..d62ed6e2041 100644 --- a/community/firefox-esr/APKBUILD +++ b/community/firefox-esr/APKBUILD @@ -5,7 +5,7 @@ pkgver=128.11.0 # Date of release, YY-MM-DD for metainfo file (see package()) # https://www.mozilla.org/firefox/organizations/notes/ _releasedate=2025-05-27 -pkgrel=1 +pkgrel=2 pkgdesc="Firefox web browser - Extended Support Release" url="https://www.mozilla.org/en-US/firefox/organizations/" # s390x: blocked by lld @@ -62,6 +62,7 @@ makedepends=" subpackages="$pkgname-intl" source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz esr-metainfo.patch + bmo-1790526-store.patch fix-fortify-system-wrappers.patch fix-rust-target.patch fix-webrtc-glibcisms.patch @@ -832,6 +833,7 @@ intl() { sha512sums=" 80af64c1dce6d7a25111480567a3251cc2d1edce00acc4d85bbaa44590f5bbf4c0716f9490c3ab8ef1e6fc2bbabb2379029c2dee51ce477933c7a5935092d279 firefox-128.11.0esr.source.tar.xz 520850448d3804e8ccfc17934c784ddbd760c93476e1a0051c029dde036d76a20c7116ccd645ebb888b09e7fa65766a0a9a139a80f478e3f6fb169b6cf68508f esr-metainfo.patch +ac16615aa0527935efbcebe9a95fc2498c807fcad2c57690ffae9b75aec6643dc4bfd90b76b4bf9f6e038ce46bc0a3441f9f391c665133a388c3c037d05b0d9e bmo-1790526-store.patch 19eea840aa9c1c21e7bd1f832ec078989fe6f08fca40baa271be7e74f1cffeb5ab8d3218a93e664b8d90a41506dede524e2a5174cd47580866109bc6711ea969 fix-fortify-system-wrappers.patch cd68b89e29e5f6379fbd5679db27b9a5ef70ea65e51c0d0a8137e1f1fd210e35a8cfb047798e9549bc7275606d7ec5c8d8af1335d29da4699db7acd8bc7ff556 fix-rust-target.patch 305c874fdea3096e9c4c6aa6520ac64bb1c347c4b59db8360096646593fe684c3b5377874d91cecd33d56d1410b4714fbdea2b514923723ecbeff79d51265d9b fix-webrtc-glibcisms.patch diff --git a/community/firefox-esr/bmo-1790526-store.patch b/community/firefox-esr/bmo-1790526-store.patch new file mode 100644 index 00000000000..687be9ec697 --- /dev/null +++ b/community/firefox-esr/bmo-1790526-store.patch @@ -0,0 +1,58 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1790526 + +diff --git a/toolkit/components/sessionstore/SessionStoreParent.cpp b/toolkit/components/sessionstore/SessionStoreParent.cpp +index 8310278..e59e7e7 100644 +--- a/toolkit/components/sessionstore/SessionStoreParent.cpp ++++ b/toolkit/components/sessionstore/SessionStoreParent.cpp +@@ -199,6 +199,18 @@ mozilla::ipc::IPCResult SessionStoreParent::RecvIncrementalSessionStoreUpdate( + const Maybe& aFormData, const Maybe& aScrollPosition, + uint32_t aEpoch) { + if (!aBrowsingContext.IsNull()) { ++ // The passed in BrowsingContext maybe already discarded and its mRawPtr is ++ // nullptr here. Let try to use the BrowsingContextId to get its ++ // Canonical one in the parent process for SessionStore update. ++ RefPtr bc; ++ if (aBrowsingContext.IsDiscarded()) { ++ bc = CanonicalBrowsingContext::Get(aBrowsingContext.ContextId()); ++ } else { ++ bc = aBrowsingContext.GetMaybeDiscarded()->Canonical(); ++ } ++ if (!bc) { ++ return IPC_OK(); ++ } + if (aFormData.isSome()) { + mHasNewFormData = true; + } +@@ -206,9 +218,7 @@ mozilla::ipc::IPCResult SessionStoreParent::RecvIncrementalSessionStoreUpdate( + mHasNewScrollPosition = true; + } + +- mSessionStore->UpdateSessionStore( +- aBrowsingContext.GetMaybeDiscarded()->Canonical(), aFormData, +- aScrollPosition, aEpoch); ++ mSessionStore->UpdateSessionStore(bc, aFormData, aScrollPosition, aEpoch); + } + + return IPC_OK(); +@@ -217,8 +227,19 @@ mozilla::ipc::IPCResult SessionStoreParent::RecvIncrementalSessionStoreUpdate( + mozilla::ipc::IPCResult SessionStoreParent::RecvResetSessionStore( + const MaybeDiscarded& aBrowsingContext, uint32_t aEpoch) { + if (!aBrowsingContext.IsNull()) { +- mSessionStore->RemoveSessionStore( +- aBrowsingContext.GetMaybeDiscarded()->Canonical()); ++ // The passed in BrowsingContext maybe already discarded and its mRawPtr is ++ // nullptr here. Let try to use the BrowsingContextId to get its ++ // Canonical one in the parent process for SessionStore update. ++ RefPtr bc; ++ if (aBrowsingContext.IsDiscarded()) { ++ bc = CanonicalBrowsingContext::Get(aBrowsingContext.ContextId()); ++ } else { ++ bc = aBrowsingContext.GetMaybeDiscarded()->Canonical(); ++ } ++ if (!bc) { ++ return IPC_OK(); ++ } ++ mSessionStore->RemoveSessionStore(bc); + } + return IPC_OK(); + }