diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd61ee1828 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, { "resource://gre/modules/ContextualIdentityService.sys.mjs", CustomizableUI: "moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs", + ZenCustomizableUI: "resource:///modules/ZenCustomizableUI.sys.mjs", DevToolsSocketStatus: "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs", DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", @@ -822,7 +823,12 @@ function UpdateBackForwardCommands(aWebNavigation) { var backDisabled = backCommand.hasAttribute("disabled"); var forwardDisabled = forwardCommand.hasAttribute("disabled"); - if (backDisabled == aWebNavigation.canGoBack) { + var canGoBack = aWebNavigation.canGoBack; + if (!canGoBack) { + canGoBack = gZenCommonActions.shouldCloseTabOnBack(); + } + + if (backDisabled == canGoBack) { if (backDisabled) { backCommand.removeAttribute("disabled"); } else { @@ -2298,6 +2304,8 @@ var XULBrowserWindow = { AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser); TranslationsParent.onLocationChange(gBrowser.selectedBrowser); + gZenPinnedTabManager.onLocationChange(gBrowser.selectedBrowser); + PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser); if (!gMultiProcessBrowser) { @@ -3809,7 +3817,7 @@ function warnAboutClosingWindow() { if (!isPBWindow && !toolbar.visible) { return gBrowser.warnAboutClosingTabs( - gBrowser.openTabs.length, + gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length, gBrowser.closingTabsEnum.ALL ); } @@ -3849,7 +3857,7 @@ function warnAboutClosingWindow() { return ( isPBWindow || gBrowser.warnAboutClosingTabs( - gBrowser.openTabs.length, + gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length, gBrowser.closingTabsEnum.ALL ) ); @@ -3874,7 +3882,7 @@ function warnAboutClosingWindow() { AppConstants.platform != "macosx" || isPBWindow || gBrowser.warnAboutClosingTabs( - gBrowser.openTabs.length, + gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length, gBrowser.closingTabsEnum.ALL ) ); @@ -4796,6 +4804,9 @@ var ConfirmationHint = { MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl"); MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl"); document.l10n.setAttributes(this._message, messageId, options.l10nArgs); + if (window.gZenUIManager?.showToast) { + return window.gZenUIManager.showToast(messageId, options); + } if (options.descriptionId) { document.l10n.setAttributes(this._description, options.descriptionId); this._description.hidden = false;