51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
"use strict";
|
|
|
|
const {utils: Cu} = Components;
|
|
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "LogManager",
|
|
"resource://shield-recipe-client/lib/LogManager.jsm");
|
|
XPCOMUtils.defineLazyModuleGetter(this, "ShieldRecipeClient",
|
|
"resource://shield-recipe-client/lib/ShieldRecipeClient.jsm");
|
|
|
|
this.install = function() {};
|
|
|
|
this.startup = async function() {
|
|
await ShieldRecipeClient.startup();
|
|
};
|
|
|
|
this.shutdown = function(data, reason) {
|
|
ShieldRecipeClient.shutdown(reason);
|
|
|
|
// Unload add-on modules. We don't do this in ShieldRecipeClient so that
|
|
// modules are not unloaded accidentally during tests.
|
|
const log = LogManager.getLogger("bootstrap");
|
|
const modules = [
|
|
"lib/ActionSandboxManager.jsm",
|
|
"lib/CleanupManager.jsm",
|
|
"lib/ClientEnvironment.jsm",
|
|
"lib/FilterExpressions.jsm",
|
|
"lib/EventEmitter.jsm",
|
|
"lib/Heartbeat.jsm",
|
|
"lib/LogManager.jsm",
|
|
"lib/NormandyApi.jsm",
|
|
"lib/NormandyDriver.jsm",
|
|
"lib/PreferenceExperiments.jsm",
|
|
"lib/RecipeRunner.jsm",
|
|
"lib/Sampling.jsm",
|
|
"lib/SandboxManager.jsm",
|
|
"lib/ShieldRecipeClient.jsm",
|
|
"lib/Storage.jsm",
|
|
"lib/Utils.jsm",
|
|
];
|
|
for (const module of modules) {
|
|
log.debug(`Unloading ${module}`);
|
|
Cu.unload(`resource://shield-recipe-client/${module}`);
|
|
}
|
|
};
|
|
|
|
this.uninstall = function() {};
|