зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
e273840d72
Коммит
1a9a2dbf1e
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче