mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-01-02 22:24:12 +01:00
Remove cruft.
This commit is contained in:
@@ -492,127 +492,7 @@ var Addons = Module("addons", {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!services.has("extensionManager"))
|
Components.utils.import("resource://gre/modules/AddonManager.jsm", this);
|
||||||
Components.utils.import("resource://gre/modules/AddonManager.jsm", this);
|
|
||||||
else
|
|
||||||
var AddonManager = {
|
|
||||||
PERM_CAN_UNINSTALL: 1,
|
|
||||||
PERM_CAN_ENABLE: 2,
|
|
||||||
PERM_CAN_DISABLE: 4,
|
|
||||||
PERM_CAN_UPGRADE: 8,
|
|
||||||
|
|
||||||
getAddonByID: function (id, callback) {
|
|
||||||
callback = callback || util.identity;
|
|
||||||
addon = services.extensionManager.getItemForID(id);
|
|
||||||
if (addon)
|
|
||||||
addon = this.wrapAddon(addon);
|
|
||||||
return callback(addon);
|
|
||||||
},
|
|
||||||
|
|
||||||
wrapAddon: function wrapAddon(addon) {
|
|
||||||
addon = Object.create(addon.QueryInterface(Ci.nsIUpdateItem));
|
|
||||||
|
|
||||||
["aboutURL", "creator", "description", "developers",
|
|
||||||
"homepageURL", "installDate", "optionsURL",
|
|
||||||
"releaseNotesURI", "updateDate"].forEach(function (item) {
|
|
||||||
memoize(addon, item, function (item) this.getProperty(item));
|
|
||||||
});
|
|
||||||
|
|
||||||
update(addon, {
|
|
||||||
|
|
||||||
get permissions() 1 | (this.userDisabled ? 2 : 4),
|
|
||||||
|
|
||||||
appDisabled: false,
|
|
||||||
|
|
||||||
getProperty: function getProperty(property) {
|
|
||||||
let resource = services.rdf.GetResource("urn:mozilla:item:" + this.id);
|
|
||||||
|
|
||||||
if (resource) {
|
|
||||||
let target = services.extensionManager.datasource.GetTarget(resource,
|
|
||||||
services.rdf.GetResource("http://www.mozilla.org/2004/em-rdf#" + property), true);
|
|
||||||
|
|
||||||
if (target && target instanceof Ci.nsIRDFLiteral)
|
|
||||||
return target.Value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
},
|
|
||||||
|
|
||||||
installLocation: Class.Memoize(function () services.extensionManager.getInstallLocation(this.id)),
|
|
||||||
getResourceURI: function getResourceURI(path) {
|
|
||||||
let file = this.installLocation.getItemFile(this.id, path);
|
|
||||||
return services.io.newFileURI(file);
|
|
||||||
},
|
|
||||||
|
|
||||||
get isActive() this.getProperty("isDisabled") != "true",
|
|
||||||
|
|
||||||
uninstall: function uninstall() {
|
|
||||||
services.extensionManager.uninstallItem(this.id);
|
|
||||||
},
|
|
||||||
|
|
||||||
get userDisabled() this.getProperty("userDisabled") === "true",
|
|
||||||
set userDisabled(val) {
|
|
||||||
services.extensionManager[val ? "disableItem" : "enableItem"](this.id);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return addon;
|
|
||||||
},
|
|
||||||
|
|
||||||
getAddonsByTypes: function (types, callback) {
|
|
||||||
let res = [];
|
|
||||||
for (let [, type] in Iterator(types))
|
|
||||||
for (let [, item] in Iterator(services.extensionManager
|
|
||||||
.getItemList(Ci.nsIUpdateItem["TYPE_" + type.toUpperCase()], {})))
|
|
||||||
res.push(this.wrapAddon(item));
|
|
||||||
|
|
||||||
if (callback)
|
|
||||||
util.timeout(function () { callback(res); });
|
|
||||||
return res;
|
|
||||||
},
|
|
||||||
|
|
||||||
getInstallForFile: function (file, callback, mimetype) {
|
|
||||||
callback({
|
|
||||||
addListener: function () {},
|
|
||||||
install: function () {
|
|
||||||
services.extensionManager.installItemFromFile(file, "app-profile");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
getInstallForURL: function (url, callback, mimetype) {
|
|
||||||
util.assert(false, _("error.unavailable", config.host, services.runtime.version));
|
|
||||||
},
|
|
||||||
|
|
||||||
observers: [],
|
|
||||||
addAddonListener: function (listener) {
|
|
||||||
observer.listener = listener;
|
|
||||||
function observer(subject, topic, data) {
|
|
||||||
if (subject instanceof Ci.nsIUpdateItem)
|
|
||||||
subject = AddonManager.wrapAddon(subject);
|
|
||||||
|
|
||||||
if (data === "item-installed")
|
|
||||||
listener.onInstalling(subject, true);
|
|
||||||
else if (data === "item-uninstalled")
|
|
||||||
listener.onUnistalling(subject, true);
|
|
||||||
else if (data === "item-upgraded")
|
|
||||||
listener.onInstalling(subject, true);
|
|
||||||
else if (data === "item-enabled")
|
|
||||||
listener.onEnabling(subject, true);
|
|
||||||
else if (data === "item-disabled")
|
|
||||||
listener.onDisabling(subject, true);
|
|
||||||
}
|
|
||||||
services.observer.addObserver(observer, "em-action-requested", false);
|
|
||||||
this.observers.push(observer);
|
|
||||||
},
|
|
||||||
removeAddonListener: function (listener) {
|
|
||||||
this.observers = this.observers.filter(function (observer) {
|
|
||||||
if (observer.listener !== listener)
|
|
||||||
return true;
|
|
||||||
services.observer.removeObserver(observer, "em-action-requested");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
endModule();
|
endModule();
|
||||||
|
|
||||||
|
|||||||
@@ -20,13 +20,6 @@ let { __lookupGetter__, __lookupSetter__, __defineGetter__, __defineSetter__,
|
|||||||
if (typeof XPCSafeJSObjectWrapper === "undefined")
|
if (typeof XPCSafeJSObjectWrapper === "undefined")
|
||||||
this.XPCSafeJSObjectWrapper = XPCNativeWrapper;
|
this.XPCSafeJSObjectWrapper = XPCNativeWrapper;
|
||||||
|
|
||||||
if (!XPCNativeWrapper.unwrap)
|
|
||||||
XPCNativeWrapper.unwrap = function unwrap(obj) {
|
|
||||||
if (hasOwnProperty.call(obj, "wrappedJSObject"))
|
|
||||||
return obj.wrappedJSObject;
|
|
||||||
return obj;
|
|
||||||
};
|
|
||||||
|
|
||||||
let getGlobalForObject = Cu.getGlobalForObject || function (obj) obj.__parent__;
|
let getGlobalForObject = Cu.getGlobalForObject || function (obj) obj.__parent__;
|
||||||
|
|
||||||
function require(module, target) JSMLoader.load(module, target);
|
function require(module, target) JSMLoader.load(module, target);
|
||||||
@@ -208,7 +201,6 @@ function debuggerProperties(obj) {
|
|||||||
* @returns {Generator}
|
* @returns {Generator}
|
||||||
*/
|
*/
|
||||||
function prototype(obj)
|
function prototype(obj)
|
||||||
/* Temporary hack: */ typeof obj === "xml" || obj.__proto__ !== obj.__proto__ ? null :
|
|
||||||
obj.__proto__ || Object.getPrototypeOf(obj) ||
|
obj.__proto__ || Object.getPrototypeOf(obj) ||
|
||||||
XPCNativeWrapper.unwrap(obj).__proto__ ||
|
XPCNativeWrapper.unwrap(obj).__proto__ ||
|
||||||
Object.getPrototypeOf(XPCNativeWrapper.unwrap(obj));
|
Object.getPrototypeOf(XPCNativeWrapper.unwrap(obj));
|
||||||
|
|||||||
Reference in New Issue
Block a user