76 lines
2.2 KiB
JavaScript
76 lines
2.2 KiB
JavaScript
// Any copyright is dedicated to the Public Domain.
|
|
// http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
/* import-globals-from head_addons.js */
|
|
|
|
// Enable all scopes.
|
|
Services.prefs.setIntPref("extensions.enabledScopes", AddonManager.SCOPE_ALL);
|
|
// Setting this to all enables the same behavior as before disabling sideloading.
|
|
// We reset this later after doing some legacy sideloading.
|
|
Services.prefs.setIntPref("extensions.sideloadScopes", AddonManager.SCOPE_ALL);
|
|
// AddonTestUtils sets this to zero, we need the default value.
|
|
Services.prefs.clearUserPref("extensions.autoDisableScopes");
|
|
|
|
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
|
|
|
|
function getID(n) {
|
|
return `${n}@tests.mozilla.org`;
|
|
}
|
|
function initialVersion(n) {
|
|
return `${n}.0`;
|
|
}
|
|
|
|
// Setup some common extension locations, one in each scope.
|
|
|
|
// SCOPE_SYSTEM
|
|
const globalDir = gProfD.clone();
|
|
globalDir.append("app-system-share");
|
|
globalDir.append(gAppInfo.ID);
|
|
registerDirectory("XRESysSExtPD", globalDir.parent);
|
|
|
|
// SCOPE_USER
|
|
const userDir = gProfD.clone();
|
|
userDir.append("app-system-user");
|
|
userDir.append(gAppInfo.ID);
|
|
registerDirectory("XREUSysExt", userDir.parent);
|
|
|
|
// SCOPE_APPLICATION
|
|
const addonAppDir = gProfD.clone();
|
|
addonAppDir.append("app-global");
|
|
addonAppDir.append("extensions");
|
|
registerDirectory("XREAddonAppDir", addonAppDir.parent);
|
|
|
|
// SCOPE_PROFILE
|
|
const profileDir = gProfD.clone();
|
|
profileDir.append("extensions");
|
|
|
|
const scopeDirectories = {
|
|
global: globalDir,
|
|
user: userDir,
|
|
app: addonAppDir,
|
|
profile: profileDir,
|
|
};
|
|
|
|
const scopeToDir = new Map([
|
|
[AddonManager.SCOPE_SYSTEM, globalDir],
|
|
[AddonManager.SCOPE_USER, userDir],
|
|
[AddonManager.SCOPE_APPLICATION, addonAppDir],
|
|
[AddonManager.SCOPE_PROFILE, profileDir],
|
|
]);
|
|
|
|
async function createWebExtension(id, version, dir) {
|
|
let xpi = AddonTestUtils.createTempWebExtensionFile({
|
|
manifest: {
|
|
version,
|
|
browser_specific_settings: { gecko: { id } },
|
|
},
|
|
});
|
|
await AddonTestUtils.manuallyInstall(xpi, dir);
|
|
}
|
|
|
|
function check_startup_changes(aType, aIds) {
|
|
let changes = AddonManager.getStartupChanges(aType);
|
|
changes = changes.filter(aEl => /@tests.mozilla.org$/.test(aEl));
|
|
|
|
Assert.deepEqual([...aIds].sort(), changes.sort());
|
|
}
|