2018-01-19 03:59:58 +08:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
|
/* eslint-disable mozilla/balanced-listeners */
|
|
|
|
|
extensions.on("uninstall", (msg, extension) => {
|
|
|
|
|
if (extension.uninstallURL) {
|
|
|
|
|
let browser = WindowManager.topWindow.gBrowser;
|
|
|
|
|
browser.addTab(extension.uninstallURL, {relatedToCurrent: true});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
global.openOptionsPage = (extension) => {
|
|
|
|
|
let window = WindowManager.topWindow;
|
|
|
|
|
if (!window) {
|
|
|
|
|
return Promise.reject({message: "No browser window available"});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (extension.manifest.options_ui.open_in_tab) {
|
2026-09-19 03:59:37 -07:00
|
|
|
let optionsURL = extension.baseURI.resolve(extension.manifest.options_ui.page);
|
|
|
|
|
window.switchToTabHavingURI(optionsURL, true);
|
2018-01-19 03:59:58 +08:00
|
|
|
return Promise.resolve();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let viewId = `addons://detail/${encodeURIComponent(extension.id)}/preferences`;
|
|
|
|
|
|
|
|
|
|
return window.BrowserOpenAddonsMgr(viewId);
|
|
|
|
|
};
|