Components.utils.import("resource://dactyl/bootstrap.jsm");
defineModule("javascript", {
- exports: ["JavaScript", "javascript"]
+ exports: ["JavaScript", "javascript"],
+ require: ["util"]
}, this);
let isPrototypeOf = Object.prototype.isPrototypeOf;
lazyInit: true,
- newContext: function () this.modules.newContext(this.modules.userContext, true),
+ newContext: function () this.modules.newContext(this.modules.userContext, true, "Dactyl JS Temp Context"),
- get completers() JavaScript.completers, // For backward compatibility
+ completers: Class.Memoize(function () Object.create(JavaScript.completers)),
// Some object members are only accessible as function calls
getKey: function (obj, key) {
}
catch (e) {}
if (!completer)
- completer = JavaScript.completers[funcName];
+ completer = this.completers[funcName];
if (!completer)
return null;
let self = this;
let sandbox = true || isinstance(context, ["Sandbox"]);
- this.context = modules.newContext(context, !sandbox);
+ this.context = modules.newContext(context, !sandbox, "Dactyl REPL Context");
this.js = modules.JavaScript();
this.js.replContext = this.context;
- this.js.newContext = function newContext() modules.newContext(self.context, !sandbox);
+ this.js.newContext = function newContext() modules.newContext(self.context, !sandbox, "Dactyl REPL Temp Context");
this.js.globals = [
[this.context, /*L*/"REPL Variables"],