Bug 1714466 - Relax upgrade dialog dependency on unrelated/deprecated prefs, e.g., whatsNewPanel and aboutwelcome r=pdahiya

Check default pref branch instead of user when looking for enterprise policy changes.

Differential Revision: https://phabricator.services.mozilla.com/D118089
This commit is contained in:
Ed Lee 2021-06-17 22:23:28 +00:00
parent 459d907670
commit 43592e9cc2
2 changed files with 21 additions and 2 deletions

View File

@ -3883,15 +3883,18 @@ BrowserGlue.prototype = {
if (lastVersion === dialogVersion) {
return "already-shown";
}
// Check the default branch as enterprise policies can set prefs there.
const defaultPrefs = Services.prefs.getDefaultBranch("");
if (
!Services.prefs.getBoolPref(
!defaultPrefs.getBoolPref(
"browser.messaging-system.whatsNewPanel.enabled",
true
)
) {
return "no-whatsNew";
}
if (!Services.prefs.getBoolPref("browser.aboutwelcome.enabled", true)) {
if (!defaultPrefs.getBoolPref("browser.aboutwelcome.enabled", true)) {
return "no-welcome";
}
if (!Services.policies.isAllowed("postUpdateCustomPage")) {

View File

@ -384,6 +384,22 @@ add_task(async function remote_disabled() {
});
});
add_task(async function enterprise_disabled() {
const defaultPrefs = Services.prefs.getDefaultBranch("");
const pref = "browser.aboutwelcome.enabled";
const orig = defaultPrefs.getBoolPref(pref, true);
defaultPrefs.setBoolPref(pref, false);
await BROWSER_GLUE._maybeShowDefaultBrowserPrompt();
AssertEvents("Welcome disabled like enterprise policy", [
"trigger",
"reason",
"no-welcome",
]);
defaultPrefs.setBoolPref(pref, orig);
});
add_task(async function show_major_upgrade() {
const promise = waitForDialog(async win => {
await BrowserTestUtils.waitForEvent(win, "ready");