diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 019b168c1aeae7e1c97a3ae58c99a48a27f54134..1f051e8a1e8a58e8bb721196deecfa36f4089dd6 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, { ContextualIdentityService: "resource://gre/modules/ContextualIdentityService.sys.mjs", CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs", + ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs", DevToolsSocketStatus: "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs", DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", @@ -632,6 +633,15 @@ XPCOMUtils.defineLazyPreferenceGetter( false ); +const ZEN_WELCOME_PATH = "zen-welcome"; +const ZEN_WELCOME_ELEMENT_ATTR = "zen-dialog-welcome-element"; +XPCOMUtils.defineLazyServiceGetter( + this, + "ProfileService", + "@mozilla.org/toolkit/profile-service;1", + "nsIToolkitProfileService" +); + customElements.setElementCreationCallback("screenshots-buttons", () => { Services.scriptloader.loadSubScript( "chrome://browser/content/screenshots/screenshots-buttons.js", @@ -3440,6 +3450,10 @@ var XULBrowserWindow = { AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser); TranslationsParent.onLocationChange(gBrowser.selectedBrowser); + gZenViewSplitter.onLocationChange(gBrowser.selectedBrowser); + ZenWorkspaces.onLocationChange(gBrowser.selectedBrowser); + gZenTabUnloader.onLocationChange(gBrowser.selectedBrowser); + PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser); if (!gMultiProcessBrowser) { @@ -4435,7 +4449,7 @@ nsBrowserAccess.prototype = { // Passing a null-URI to only create the content window, // and pass true for aSkipLoad to prevent loading of // about:blank - return this.getContentWindowOrOpenURIInFrame( + let res = this.getContentWindowOrOpenURIInFrame( null, aParams, aWhere, @@ -4443,6 +4457,10 @@ nsBrowserAccess.prototype = { aName, true ); + if (typeof window.gZenGlanceManager !== "undefined" && window.toolbar.visible) { + window.gZenGlanceManager.onTabOpen(res, aURI); + } + return res; }, openURIInFrame: function browser_openURIInFrame( @@ -7285,6 +7303,12 @@ var gDialogBox = { parentElement.showModal(); this._didOpenHTMLDialog = true; + if (uri.includes(ZEN_WELCOME_PATH)) { + parentElement.setAttribute(ZEN_WELCOME_ELEMENT_ATTR, true); + } else if (parentElement.hasAttribute(ZEN_WELCOME_ELEMENT_ATTR)) { + parentElement.removeAttribute(ZEN_WELCOME_ELEMENT_ATTR); + } + // Disable menus and shortcuts. this._updateMenuAndCommandState(false /* to disable */);