Bug 1664265 - check for Pioneer enrollment before re-trying default add-on install r=maxxcrawford

Differential Revision: https://phabricator.services.mozilla.com/D89811
This commit is contained in:
Robert Helmer 2020-09-10 22:45:48 +00:00
Родитель e273840d72
Коммит 1a9a2dbf1e
1 изменённых файлов: 32 добавлений и 35 удалений

Просмотреть файл

@ -150,44 +150,34 @@ async function toggleEnrolled(studyAddonId, cachedAddons) {
} }
async function showAvailableStudies(cachedAddons) { async function showAvailableStudies(cachedAddons) {
const pioneerId = Services.prefs.getStringPref(PREF_PIONEER_ID, null);
const defaultAddons = cachedAddons.filter(a => a.isDefault); const defaultAddons = cachedAddons.filter(a => a.isDefault);
for (const defaultAddon of defaultAddons) { if (pioneerId) {
let addon; for (const defaultAddon of defaultAddons) {
let install; let addon;
if (Cu.isInAutomation) { let install;
console.debug(defaultAddon); if (Cu.isInAutomation) {
install = { console.debug(defaultAddon);
install: async () => { install = {
if ( install: async () => {
defaultAddon.addon_id == if (
"pioneer-v2-bad-default-example@mozilla.org" defaultAddon.addon_id ==
) { "pioneer-v2-bad-default-example@mozilla.org"
throw new Error("Bad test default add-on"); ) {
} throw new Error("Bad test default add-on");
}, }
}; },
} else { };
addon = await AddonManager.getAddonByID(defaultAddon.addon_id); } else {
install = await AddonManager.getInstallForURL( addon = await AddonManager.getAddonByID(defaultAddon.addon_id);
defaultAddon.sourceURI.spec install = await AddonManager.getInstallForURL(
); defaultAddon.sourceURI.spec
} );
}
if (!addon) { if (!addon) {
// Any default add-ons are required, try to reinstall. // Any default add-ons are required, try to reinstall.
try {
console.debug("calling install for", defaultAddons.addon_id);
await install.install(); await install.install();
} catch (ex) {
console.debug("catching");
const availableStudies = document.getElementById("available-studies");
document.l10n.setAttributes(
availableStudies,
"pioneer-no-current-studies"
);
throw new Error(
`Default add-on not installed: ${defaultAddon.addon_id}, ${ex}`
);
} }
} }
} }
@ -461,6 +451,13 @@ async function setup(cachedAddons) {
console.error( console.error(
`Could not install default add-on ${cachedAddon.addon_id}` `Could not install default add-on ${cachedAddon.addon_id}`
); );
const availableStudies = document.getElementById(
"available-studies"
);
document.l10n.setAttributes(
availableStudies,
"pioneer-no-current-studies"
);
} }
} }
const study = document.getElementById(cachedAddon.addon_id); const study = document.getElementById(cachedAddon.addon_id);