diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs index f4ea0c87a35a19c09f811576201a7adb865ed74c..89e44ab4d3b6f0ce0ecf89c4b8b484b7da5fa2ea 100644 --- a/browser/components/BrowserGlue.sys.mjs +++ b/browser/components/BrowserGlue.sys.mjs @@ -4436,6 +4436,7 @@ BrowserGlue.prototype = { }, async _maybeShowDefaultBrowserPrompt() { + this._ZenMaybeShowWelcomeScreen(); // Highest priority is about:welcome window modal experiment // Second highest priority is the upgrade dialog, which can include a "primary // browser" request and is limited in various ways, e.g., major upgrades. @@ -4894,6 +4895,16 @@ BrowserGlue.prototype = { "nsIObserver", "nsISupportsWeakReference", ]), + + _ZenMaybeShowWelcomeScreen() { + const welcomeEnabled = Services.prefs.getBoolPref("zen.welcomeScreen.enabled", true) + const welcomeSeen = Services.prefs.getBoolPref("zen.welcomeScreen.seen", false) + if (welcomeEnabled && !welcomeSeen) { + lazy.BrowserWindowTracker.getTopWindow().gDialogBox.open( + "chrome://browser/content/zen-welcome/welcome.html" + ); + } + }, }; var ContentBlockingCategoriesPrefs = {