1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-04 18:14:12 +01:00

Minor refactoring of last commit.

This commit is contained in:
Kris Maglione
2011-06-06 17:50:31 -04:00
parent 5c89527d3f
commit 6d162f167d
2 changed files with 17 additions and 8 deletions

View File

@@ -669,13 +669,8 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
let body = XML();
for (let [, context] in Iterator(plugins.contexts))
try {
let info;
if (isinstance(context, ["Sandbox"]))
info = "INFO" in context && XML(dactyl.userEval("this.INFO instanceof XML && this.INFO.toXMLString()", context));
else if (context && context.INFO instanceof XML)
info = context.INFO;
if (info) {
let info = contexts.getDocs(context);
if (info instanceof XML) {
if (info.*.@lang.length()) {
let lang = config.bestLocale(String(a) for each (a in info.*.@lang));

View File

@@ -216,11 +216,12 @@ var Contexts = Module("contexts", {
contexts.removeGroup(this.GROUP);
})
});
if (group !== this.user)
Class.replaceProperty(plugins, file.path, self);
// This belongs elsewhere
if (isPlugin && args)
if (isPlugin)
Object.defineProperty(plugins, self.NAME, {
configurable: true,
enumerable: true,
@@ -357,6 +358,19 @@ var Contexts = Module("contexts", {
return group;
},
getDocs: function getDocs(context) {
try {
if (isinstance(context, ["Sandbox"])) {
let info = "INFO" in context && Cu.evalInSandbox("this.INFO instanceof XML && INFO.toXMLString()", context);
return info && XML(info);
}
if (typeof context.INFO == "xml")
return context.INFO;
}
catch (e) {}
return null;
},
bindMacro: function (args, default_, params) {
const { dactyl, events, modules } = this.modules;