From dbb1e28b2f57c0b757314ce5f29dfa74dd57c3e0 Mon Sep 17 00:00:00 2001 From: "mr. m" <91018726+mr-cheffy@users.noreply.github.com> Date: Fri, 20 Feb 2026 17:24:17 +0100 Subject: [PATCH] chore: Sync upstream Firefox to version 148.0, p=#12440 --- README.md | 2 +- build/firefox-cache/l10n-last-commit-hash | 2 +- src/Cargo-lock.patch | 2 +- src/Cargo-toml.patch | 10 +- .../base/content/browser-init-js.patch | 6 +- src/browser/base/content/browser-js.patch | 14 +- .../base/content/browser-sets-inc.patch | 4 +- .../base/content/browser-sets-js.patch | 6 +- .../content/browser-siteIdentity-js.patch | 8 +- src/browser/base/content/browser-xhtml.patch | 6 +- .../content/main-popupset-inc-xhtml.patch | 8 +- .../content/navigator-toolbox-inc-xhtml.patch | 14 +- .../base/content/nsContextMenu-sys-mjs.patch | 2 +- .../BrowserContentHandler-sys-mjs.patch | 6 +- .../components/BrowserGlue-sys-mjs.patch | 6 +- .../content/identityPanel-inc-xhtml.patch | 2 +- .../customizableui/content/panelUI-js.patch | 6 +- .../extensions/parent/ext-tabs-js.patch | 2 +- .../components/preferences/jar-mn.patch | 4 +- .../preferences/main-inc-xhtml.patch | 6 +- .../components/preferences/main-js.patch | 6 +- .../preferences/preferences-js.patch | 6 +- .../preferences/preferences-xhtml.patch | 12 +- .../preferences/sync-inc-xhtml.patch | 2 +- .../screenshots/overlay/overlay-css.patch | 8 +- .../search/SearchUIUtils-sys-mjs.patch | 13 +- .../sessionstore/SessionStore-sys-mjs.patch | 72 +++---- .../sidebar/browser-sidebar-js.patch | 4 +- .../content/browser-ctrlTab-js.patch | 2 +- .../tabbrowser/content/drag-and-drop-js.patch | 72 +++---- .../tabbrowser/content/tab-js.patch | 2 +- .../tabbrowser/content/tabbrowser-js.patch | 190 ++++++++++-------- .../tabbrowser/content/tabgroup-js.patch | 8 +- .../tabbrowser/content/tabs-js.patch | 44 ++-- .../urlbar/UrlbarController-sys-mjs.patch | 2 +- .../urlbar/UrlbarMuxerStandard-sys-mjs.patch | 6 +- .../urlbar/UrlbarPrefs-sys-mjs.patch | 4 +- ...barProviderHeuristicFallback-sys-mjs.patch | 4 +- .../urlbar/UrlbarResult-sys-mjs.patch | 4 +- .../urlbar/UrlbarUtils-sys-mjs.patch | 4 +- .../urlbar/UrlbarView-sys-mjs.patch | 6 +- .../urlbar/content/UrlbarInput-mjs.patch | 52 ++--- .../newtab/lib/ActivityStream-sys-mjs.patch | 4 +- .../windows/nsis/installer-nsi.patch | 2 +- .../BrowserWindowTracker-sys-mjs.patch | 18 +- src/browser/themes/linux/browser-css.patch | 6 +- .../themes/shared/browser-shared-css.patch | 8 +- .../identity-block/identity-block-css.patch | 2 +- src/browser/themes/shared/jar-inc-mn.patch | 4 +- .../shared/tabbrowser/content-area-css.patch | 14 +- .../shared/tabbrowser/ctrlTab-css.patch | 2 +- .../themes/shared/tabbrowser/tabs-css.patch | 34 ++-- .../themes/shared/toolbarbuttons-css.patch | 2 +- .../themes/shared/urlbar-searchbar-css.patch | 12 +- .../themes/shared/urlbarView-css.patch | 2 +- src/browser/themes/windows/browser-css.patch | 10 +- .../startup/DevToolsStartup-sys-mjs.patch | 10 +- src/docshell/base/nsAboutRedirector-cpp.patch | 2 +- src/dom/base/Document-cpp.patch | 6 +- src/gfx/wr/webrender/src/picture-rs.patch | 4 +- src/layout/generic/nsIFrame-cpp.patch | 4 +- src/layout/style/nsStyleStruct-cpp.patch | 6 +- src/layout/style/nsStyleStruct-h.patch | 2 +- .../libpref/init/StaticPrefList-yaml.patch | 4 +- .../style/gecko/media_features-rs.patch | 8 +- .../components/style/queries/feature-rs.patch | 8 +- .../style/queries/feature_expression-rs.patch | 12 +- src/testing/mochitest/browser-test-js.patch | 26 +-- .../PictureInPictureChild-sys-mjs.patch | 4 +- .../asyncshutdown/AsyncShutdown-sys-mjs.patch | 28 +++ .../downloads/DownloadList-sys-mjs.patch | 2 +- .../extensions/parent/ext-downloads-js.patch | 2 +- .../extensions/parent/ext-tabs-base-js.patch | 14 +- .../widgets/browser-custom-element-mjs.patch | 2 +- src/toolkit/content/widgets/tabbox-js.patch | 12 +- src/toolkit/content/xul-css.patch | 4 +- .../LightweightThemeConsumer-sys-mjs.patch | 6 +- src/toolkit/modules/UpdateUtils-sys-mjs.patch | 2 +- src/toolkit/modules/moz-build.patch | 4 +- .../extensions/AddonManager-sys-mjs.patch | 4 +- .../profile/nsToolkitProfileService-cpp.patch | 4 +- .../dist/tokens-shared-css.patch | 2 +- .../shared/in-content/common-shared-css.patch | 10 +- src/toolkit/themes/shared/tree/tree-css.patch | 2 +- src/toolkit/xre/nsXREDirProvider-cpp.patch | 2 +- .../signing/macos/mach_commands-py.patch | 6 +- src/widget/cocoa/nsDragService-mm.patch | 6 +- src/xpfe/appshell/AppWindow-cpp.patch | 4 +- src/zen/kbs/ZenKeyboardShortcuts.mjs | 5 - src/zen/sessionstore/ZenWindowSync.sys.mjs | 57 ++---- .../safebrowsing/browser_whitelisted.js | 16 +- src/zen/tests/mochitests/safebrowsing/head.js | 48 ----- .../browser_content_sandbox_fs_tests.js | 7 + ...er_content_sandbox_fs_xdg_xdgConfigHome.js | 7 + .../sandbox/browser_xdg_default.toml | 7 +- .../sandbox/browser_xdg_mozLegacyHome.toml | 7 +- .../sandbox/browser_xdg_xdgConfigHome.toml | 6 +- src/zen/urlbar/ZenSiteDataPanel.sys.mjs | 2 +- src/zen/urlbar/ZenUBActionsProvider.sys.mjs | 87 +++++++- src/zen/workspaces/zen-workspaces.css | 2 + surfer.json | 2 +- 101 files changed, 658 insertions(+), 566 deletions(-) create mode 100644 src/toolkit/components/asyncshutdown/AsyncShutdown-sys-mjs.patch diff --git a/README.md b/README.md index 1776b4876..93842d5f1 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne ### Firefox Versions - [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `147.0.4`! 🚀 -- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 147.0.4`! +- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 148.0`! ### Contributing diff --git a/build/firefox-cache/l10n-last-commit-hash b/build/firefox-cache/l10n-last-commit-hash index e317d4146..9970e08f3 100644 --- a/build/firefox-cache/l10n-last-commit-hash +++ b/build/firefox-cache/l10n-last-commit-hash @@ -1 +1 @@ -b1e00b74d3791a5a7bbd6ba3d32b69b60471e73b \ No newline at end of file +b7d21837fa8fcae98dab2a4f016cc9fb3053903d \ No newline at end of file diff --git a/src/Cargo-lock.patch b/src/Cargo-lock.patch index d792818fa..8b955b8f7 100644 --- a/src/Cargo-lock.patch +++ b/src/Cargo-lock.patch @@ -1,5 +1,5 @@ diff --git a/Cargo.lock b/Cargo.lock -index 723445447f491058784992e66245e0e0f8e61e19..02816c1df3e20d96ce68f16970b8a6e38080533e 100644 +index abc04e6a8e1e68fa71c6de0375f8e953e6369d8b..7bdfb41e255fc12065de064162e9bf9e15d7ff12 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4214,8 +4214,6 @@ dependencies = [ diff --git a/src/Cargo-toml.patch b/src/Cargo-toml.patch index 1213d7775..33daab5bf 100644 --- a/src/Cargo-toml.patch +++ b/src/Cargo-toml.patch @@ -1,13 +1,13 @@ diff --git a/Cargo.toml b/Cargo.toml -index 35e725043bce0b39fea550e8fb2b0ae1ff752e43..abac2042d537fcc1ce26e0e3acbf98fc2975b793 100644 +index ab9eda43302a6281e59a2738170e77bb0f0b1b90..3389f1c744b56e3a6a4eb3f05b0601bed4538fa1 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -237,6 +237,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" } +@@ -240,6 +240,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" } # Workaround for https://github.com/rust-lang/cargo/issues/11232 rure = { path = "third_party/rust/rure" } +mime_guess = { path = "third_party/rust/mime_guess" } + - # Patch `unicode-width` 0.1.* to 0.2. - unicode-width = { path = "build/rust/unicode-width" } - + # To-be-published changes. + unicode-bidi = { git = "https://github.com/servo/unicode-bidi", rev = "ca612daf1c08c53abe07327cb3e6ef6e0a760f0c" } + nss-gk-api = { git = "https://github.com/beurdouche/nss-gk-api", rev = "e48a946811ffd64abc78de3ee284957d8d1c0d63" } diff --git a/src/browser/base/content/browser-init-js.patch b/src/browser/base/content/browser-init-js.patch index 2cf59c8d8..7f346758d 100644 --- a/src/browser/base/content/browser-init-js.patch +++ b/src/browser/base/content/browser-init-js.patch @@ -1,8 +1,8 @@ diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js -index 288a79e5fb4da24cffcb30fb4b8adc9604b15d26..bf9bd3e666dfb6298dbeec0546cae223a7bc68f0 100644 +index 0186e3a6508fc8e40f93619d8b3e5a0c003cbd4a..1f4fa115e591cfbe3e23d4ce880be66277a50a26 100644 --- a/browser/base/content/browser-init.js +++ b/browser/base/content/browser-init.js -@@ -200,6 +200,7 @@ var gBrowserInit = { +@@ -243,6 +243,7 @@ var gBrowserInit = { }, onLoad() { @@ -10,7 +10,7 @@ index 288a79e5fb4da24cffcb30fb4b8adc9604b15d26..bf9bd3e666dfb6298dbeec0546cae223 gBrowser.addEventListener("DOMUpdateBlockedPopups", e => PopupAndRedirectBlockerObserver.handleEvent(e) ); -@@ -375,6 +376,7 @@ var gBrowserInit = { +@@ -433,6 +434,7 @@ var gBrowserInit = { this._handleURIToLoad(); diff --git a/src/browser/base/content/browser-js.patch b/src/browser/base/content/browser-js.patch index 92428e53b..59540592d 100644 --- a/src/browser/base/content/browser-js.patch +++ b/src/browser/base/content/browser-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js -index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae031fe6119 100644 +index e2e0526a0ddd617291f1f6c17bcfb807954b481f..c3d2afff6eaa788309d1c1a7fa40f9b8b4f0fffe 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, { @@ -10,7 +10,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 DevToolsSocketStatus: "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs", DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", -@@ -819,7 +820,12 @@ function UpdateBackForwardCommands(aWebNavigation) { +@@ -814,7 +815,12 @@ function UpdateBackForwardCommands(aWebNavigation) { var backDisabled = backCommand.hasAttribute("disabled"); var forwardDisabled = forwardCommand.hasAttribute("disabled"); @@ -24,7 +24,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 if (backDisabled) { backCommand.removeAttribute("disabled"); } else { -@@ -2305,6 +2311,8 @@ var XULBrowserWindow = { +@@ -2301,6 +2307,8 @@ var XULBrowserWindow = { AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser); TranslationsParent.onLocationChange(gBrowser.selectedBrowser); @@ -33,7 +33,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser); if (!gMultiProcessBrowser) { -@@ -3818,7 +3826,7 @@ function warnAboutClosingWindow() { +@@ -3821,7 +3829,7 @@ function warnAboutClosingWindow() { if (!isPBWindow && !toolbar.visible) { return gBrowser.warnAboutClosingTabs( @@ -42,7 +42,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 gBrowser.closingTabsEnum.ALL ); } -@@ -3858,7 +3866,7 @@ function warnAboutClosingWindow() { +@@ -3861,7 +3869,7 @@ function warnAboutClosingWindow() { return ( isPBWindow || gBrowser.warnAboutClosingTabs( @@ -51,7 +51,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 gBrowser.closingTabsEnum.ALL ) ); -@@ -3883,7 +3891,7 @@ function warnAboutClosingWindow() { +@@ -3886,7 +3894,7 @@ function warnAboutClosingWindow() { AppConstants.platform != "macosx" || isPBWindow || gBrowser.warnAboutClosingTabs( @@ -60,7 +60,7 @@ index 16cf3e201358d24c9216f9b06b0ba3b89684d32a..2cfa507bbdc96b8a293b18595d0beae0 gBrowser.closingTabsEnum.ALL ) ); -@@ -4806,6 +4814,9 @@ var ConfirmationHint = { +@@ -4809,6 +4817,9 @@ var ConfirmationHint = { MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl"); MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl"); document.l10n.setAttributes(this._message, messageId, options.l10nArgs); diff --git a/src/browser/base/content/browser-sets-inc.patch b/src/browser/base/content/browser-sets-inc.patch index fe3e4c7a3..3abbb9f94 100644 --- a/src/browser/base/content/browser-sets-inc.patch +++ b/src/browser/base/content/browser-sets-inc.patch @@ -1,8 +1,8 @@ diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc -index 139f7c2617f5e4843e0072435818c859def2f6bb..6ac1467b4117e2d76102d6977f13268827b4588f 100644 +index df768aaa77a6986260da5052ed14c8403d48de6b..a30e3a2784a6215c959d23802b5c2c966f89ca10 100644 --- a/browser/base/content/browser-sets.inc +++ b/browser/base/content/browser-sets.inc -@@ -413,3 +413,4 @@ +@@ -414,3 +414,4 @@ internal="true"/> #endif diff --git a/src/browser/base/content/browser-sets-js.patch b/src/browser/base/content/browser-sets-js.patch index 3f0117170..84709df03 100644 --- a/src/browser/base/content/browser-sets-js.patch +++ b/src/browser/base/content/browser-sets-js.patch @@ -1,8 +1,8 @@ diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js -index 94a05a510204c027e482fda33deaf3dc0d7471c9..da7cda8e2708a29cf6cc3bf667240d37ef66ecfb 100644 +index 50845ebd925955bf9646fc499b9828eccbf266ef..5482a24576ebcd4382409cae01a4c6bcbd88a96c 100644 --- a/browser/base/content/browser-sets.js +++ b/browser/base/content/browser-sets.js -@@ -266,7 +266,7 @@ document.addEventListener( +@@ -270,7 +270,7 @@ document.addEventListener( } }); @@ -11,7 +11,7 @@ index 94a05a510204c027e482fda33deaf3dc0d7471c9..da7cda8e2708a29cf6cc3bf667240d37 const SIDEBAR_REVAMP_PREF = "sidebar.revamp"; const SIDEBAR_REVAMP_ENABLED = Services.prefs.getBoolPref( SIDEBAR_REVAMP_PREF, -@@ -304,6 +304,8 @@ document.addEventListener( +@@ -308,6 +308,8 @@ document.addEventListener( panel: SidebarController.currentID, opened: SidebarController._state.launcherExpanded, }); diff --git a/src/browser/base/content/browser-siteIdentity-js.patch b/src/browser/base/content/browser-siteIdentity-js.patch index 694f10ecd..ca9cb89b0 100644 --- a/src/browser/base/content/browser-siteIdentity-js.patch +++ b/src/browser/base/content/browser-siteIdentity-js.patch @@ -1,8 +1,8 @@ diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js -index 8369e546866aa313e62f808acb8d51afa8da4f9b..7a4b20dd5922425cebfac542893a52cd68a26449 100644 +index 6d2052e060896bb5e91ba84c15bf14c969340935..6ceef1806e2d88cd7e2ebc867d633e9148f3b298 100644 --- a/browser/base/content/browser-siteIdentity.js +++ b/browser/base/content/browser-siteIdentity.js -@@ -451,11 +451,6 @@ var gIdentityHandler = { +@@ -464,11 +464,6 @@ var gIdentityHandler = { // avoid a pretty ugly transition. Also hide it even // if the update resulted in no site data, to keep the // illusion that clicking the button had an effect. @@ -14,7 +14,7 @@ index 8369e546866aa313e62f808acb8d51afa8da4f9b..7a4b20dd5922425cebfac542893a52cd let baseDomain = SiteDataManager.getBaseDomainFromHost(this._uri.host); if (SiteDataManager.promptSiteDataRemoval(window, [baseDomain])) { -@@ -832,7 +827,7 @@ var gIdentityHandler = { +@@ -847,7 +842,7 @@ var gIdentityHandler = { // This is a secure internal Firefox page. this._identityBox.className = "chromeUI"; let brandBundle = document.getElementById("bundle_brand"); @@ -23,7 +23,7 @@ index 8369e546866aa313e62f808acb8d51afa8da4f9b..7a4b20dd5922425cebfac542893a52cd } else if (this._pageExtensionPolicy) { // This is a WebExtension page. this._identityBox.className = "extensionPage"; -@@ -1161,6 +1156,12 @@ var gIdentityHandler = { +@@ -1190,6 +1185,12 @@ var gIdentityHandler = { } } diff --git a/src/browser/base/content/browser-xhtml.patch b/src/browser/base/content/browser-xhtml.patch index c297865ef..548bf7cc6 100644 --- a/src/browser/base/content/browser-xhtml.patch +++ b/src/browser/base/content/browser-xhtml.patch @@ -1,5 +1,5 @@ diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml -index ac82dcd286b5502d1ba38ed740813db08941eb7b..c26b3f0468ee6acd7716d4e8a24ad8cc84fce186 100644 +index 832d98f911e0bd0e231421332a521bfefea72ef8..a9955256c81b252fe0527ae5857c9283e2518274 100644 --- a/browser/base/content/browser.xhtml +++ b/browser/base/content/browser.xhtml @@ -19,6 +19,7 @@ @@ -10,7 +10,7 @@ index ac82dcd286b5502d1ba38ed740813db08941eb7b..c26b3f0468ee6acd7716d4e8a24ad8cc persist="screenX screenY width height sizemode" data-l10n-sync="true"> -@@ -99,8 +100,10 @@ +@@ -100,8 +101,10 @@ @@ -21,7 +21,7 @@ index ac82dcd286b5502d1ba38ed740813db08941eb7b..c26b3f0468ee6acd7716d4e8a24ad8cc # All sets except for popupsets (commands, keys, and stringbundles) -@@ -133,9 +136,11 @@ +@@ -134,9 +137,11 @@ diff --git a/src/browser/base/content/main-popupset-inc-xhtml.patch b/src/browser/base/content/main-popupset-inc-xhtml.patch index 85d3dbf5c..7068d13b2 100644 --- a/src/browser/base/content/main-popupset-inc-xhtml.patch +++ b/src/browser/base/content/main-popupset-inc-xhtml.patch @@ -1,8 +1,8 @@ diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml -index 79b604c5965ba03762acbf085c9288c73001ec24..d75d5481e5de93c592850e39d4b0b4fd07e12678 100644 +index 0d73eb17b340001312a885ea10f5d6ad871f14d2..475824a0f9a4bbc15dc9bc7f1d2a09a51e58bc65 100644 --- a/browser/base/content/main-popupset.inc.xhtml +++ b/browser/base/content/main-popupset.inc.xhtml -@@ -226,6 +226,10 @@ +@@ -234,6 +234,10 @@ hidden="true" tabspecific="true" aria-labelledby="editBookmarkPanelTitle"> @@ -13,7 +13,7 @@ index 79b604c5965ba03762acbf085c9288c73001ec24..d75d5481e5de93c592850e39d4b0b4fd -@@ -251,6 +255,7 @@ +@@ -259,6 +263,7 @@ class="footer-button"/> @@ -21,7 +21,7 @@ index 79b604c5965ba03762acbf085c9288c73001ec24..d75d5481e5de93c592850e39d4b0b4fd -@@ -656,6 +661,8 @@ +@@ -678,6 +683,8 @@ #include popup-notifications.inc.xhtml diff --git a/src/browser/base/content/navigator-toolbox-inc-xhtml.patch b/src/browser/base/content/navigator-toolbox-inc-xhtml.patch index a436b5bb1..216ab51a4 100644 --- a/src/browser/base/content/navigator-toolbox-inc-xhtml.patch +++ b/src/browser/base/content/navigator-toolbox-inc-xhtml.patch @@ -1,5 +1,5 @@ diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml -index 68c24f730d56f548cf1e286198a04f8363529378..eb9aa5e77cf549062d8d3770f8057ceafe67c317 100644 +index 4d4223c508560136aba220adb18528aac913a188..7e7432f7adb761a598d3e3e5ca4c6385a3bfe223 100644 --- a/browser/base/content/navigator-toolbox.inc.xhtml +++ b/browser/base/content/navigator-toolbox.inc.xhtml @@ -2,7 +2,7 @@ @@ -11,18 +11,18 @@ index 68c24f730d56f548cf1e286198a04f8363529378..eb9aa5e77cf549062d8d3770f8057cea