Files
tubestation/browser/extensions/shield-recipe-client/bootstrap.js
2017-04-27 12:30:07 -07:00

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() {};