diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs index 2de73e75bf98b21dde9ec05213a66f9e9039200f..04ab3ea4c47d674778e8965654867c4cf0f99161 100644 --- a/browser/components/BrowserGlue.sys.mjs +++ b/browser/components/BrowserGlue.sys.mjs @@ -4643,6 +4643,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. @@ -5169,6 +5170,16 @@ BrowserGlue.prototype = { "nsIObserver", "nsISupportsWeakReference", ]), + + _ZenMaybeShowWelcomeScreen() { + const welcomeEnabled = Services.prefs.getBoolPref("zen.welcome-screen.enabled", true) + const welcomeSeen = Services.prefs.getBoolPref("zen.welcome-screen.seen", false) + if (welcomeEnabled && !welcomeSeen) { + lazy.BrowserWindowTracker.getTopWindow().gDialogBox.open( + "chrome://browser/content/zen-welcome/welcome.html" + ); + } + }, }; var ContentBlockingCategoriesPrefs = {