mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-20 21:48:00 +01:00
Fix some more CPG breakage.
This commit is contained in:
@@ -1007,7 +1007,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
|
|||||||
// Try to find a matching file.
|
// Try to find a matching file.
|
||||||
let file = io.File(url);
|
let file = io.File(url);
|
||||||
if (file.exists() && file.isReadable())
|
if (file.exists() && file.isReadable())
|
||||||
return services.io.newFileURI(file).spec;
|
return file.URI.spec;
|
||||||
}
|
}
|
||||||
catch (e) {}
|
catch (e) {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -638,6 +638,7 @@ var Buffer = Module("Buffer", {
|
|||||||
| persist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
|
| persist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
|
||||||
|
|
||||||
let window = this.topWindow;
|
let window = this.topWindow;
|
||||||
|
file = File(file);
|
||||||
if (!file.exists())
|
if (!file.exists())
|
||||||
file.create(Ci.nsIFile.NORMAL_FILE_TYPE, octal(666));
|
file.create(Ci.nsIFile.NORMAL_FILE_TYPE, octal(666));
|
||||||
|
|
||||||
@@ -649,7 +650,7 @@ var Buffer = Module("Buffer", {
|
|||||||
persist.progressListener = update(Object.create(downloadListener), {
|
persist.progressListener = update(Object.create(downloadListener), {
|
||||||
onStateChange: util.wrapCallback(function onStateChange(progress, request, flags, status) {
|
onStateChange: util.wrapCallback(function onStateChange(progress, request, flags, status) {
|
||||||
if (callback && (flags & Ci.nsIWebProgressListener.STATE_STOP) && status == 0)
|
if (callback && (flags & Ci.nsIWebProgressListener.STATE_STOP) && status == 0)
|
||||||
util.trapErrors(callback, self, uri, file, progress, request, flags, status);
|
util.trapErrors(callback, self, uri, file.file, progress, request, flags, status);
|
||||||
|
|
||||||
return onStateChange.superapply(this, arguments);
|
return onStateChange.superapply(this, arguments);
|
||||||
})
|
})
|
||||||
@@ -657,7 +658,7 @@ var Buffer = Module("Buffer", {
|
|||||||
else
|
else
|
||||||
persist.progressListener = downloadListener;
|
persist.progressListener = downloadListener;
|
||||||
|
|
||||||
persist.saveURI(uri, null, null, null, null, file);
|
persist.saveURI(uri, null, null, null, null, file.path);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ var Cache = Module("Cache", XPCOM(Ci.nsIRequestObserver), {
|
|||||||
if (!this._cacheReader && this.cacheFile.exists()
|
if (!this._cacheReader && this.cacheFile.exists()
|
||||||
&& !this.inQueue)
|
&& !this.inQueue)
|
||||||
try {
|
try {
|
||||||
this._cacheReader = services.ZipReader(this.cacheFile);
|
this._cacheReader = services.ZipReader(this.cacheFile.file);
|
||||||
}
|
}
|
||||||
catch (e if e.result == Cr.NS_ERROR_FILE_CORRUPTED) {
|
catch (e if e.result == Cr.NS_ERROR_FILE_CORRUPTED) {
|
||||||
util.reportError(e);
|
util.reportError(e);
|
||||||
@@ -99,14 +99,14 @@ var Cache = Module("Cache", XPCOM(Ci.nsIRequestObserver), {
|
|||||||
if (!this.cacheFile.exists())
|
if (!this.cacheFile.exists())
|
||||||
mode |= File.MODE_CREATE;
|
mode |= File.MODE_CREATE;
|
||||||
|
|
||||||
cache._cacheWriter = services.ZipWriter(this.cacheFile, mode);
|
cache._cacheWriter = services.ZipWriter(this.cacheFile.file, mode);
|
||||||
}
|
}
|
||||||
catch (e if e.result == Cr.NS_ERROR_FILE_CORRUPTED) {
|
catch (e if e.result == Cr.NS_ERROR_FILE_CORRUPTED) {
|
||||||
util.reportError(e);
|
util.reportError(e);
|
||||||
this.cacheFile.remove(false);
|
this.cacheFile.remove(false);
|
||||||
|
|
||||||
mode |= File.MODE_CREATE;
|
mode |= File.MODE_CREATE;
|
||||||
cache._cacheWriter = services.ZipWriter(this.cacheFile, mode);
|
cache._cacheWriter = services.ZipWriter(this.cacheFile.file, mode);
|
||||||
}
|
}
|
||||||
return this._cacheWriter;
|
return this._cacheWriter;
|
||||||
},
|
},
|
||||||
@@ -159,7 +159,7 @@ var Cache = Module("Cache", XPCOM(Ci.nsIRequestObserver), {
|
|||||||
},
|
},
|
||||||
|
|
||||||
flushJAR: function flushJAR(file) {
|
flushJAR: function flushJAR(file) {
|
||||||
services.observer.notifyObservers(file, "flush-cache-entry", "");
|
services.observer.notifyObservers(File(file).file, "flush-cache-entry", "");
|
||||||
},
|
},
|
||||||
|
|
||||||
flushStartup: function flushStartup() {
|
flushStartup: function flushStartup() {
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ var ConfigBase = Class("ConfigBase", {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function processJar(file) {
|
function processJar(file) {
|
||||||
let jar = services.ZipReader(file);
|
let jar = services.ZipReader(file.file);
|
||||||
if (jar)
|
if (jar)
|
||||||
try {
|
try {
|
||||||
if (jar.hasEntry("chrome.manifest"))
|
if (jar.hasEntry("chrome.manifest"))
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ var Contexts = Module("contexts", {
|
|||||||
return {
|
return {
|
||||||
__proto__: frame,
|
__proto__: frame,
|
||||||
filename: this.context.file[0] == "[" ? this.context.file
|
filename: this.context.file[0] == "[" ? this.context.file
|
||||||
: services.io.newFileURI(File(this.context.file)).spec,
|
: File(this.context.file).URI.spec,
|
||||||
lineNumber: this.context.line
|
lineNumber: this.context.line
|
||||||
};
|
};
|
||||||
return frame;
|
return frame;
|
||||||
|
|||||||
@@ -1562,7 +1562,7 @@ var DOM = Class("DOM", {
|
|||||||
function tag(args, namespaces) {
|
function tag(args, namespaces) {
|
||||||
let _namespaces = namespaces;
|
let _namespaces = namespaces;
|
||||||
|
|
||||||
if (isinstance(args, ["String", "Number", _]))
|
if (isinstance(args, ["String", "Number", "Boolean", _]))
|
||||||
return doc.createTextNode(args);
|
return doc.createTextNode(args);
|
||||||
if (isXML(args))
|
if (isXML(args))
|
||||||
return DOM.fromXML(args, doc, nodes);
|
return DOM.fromXML(args, doc, nodes);
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ var Download = Class("Download", {
|
|||||||
function action() {
|
function action() {
|
||||||
try {
|
try {
|
||||||
if (this.MIMEInfo && this.MIMEInfo.preferredAction == this.MIMEInfo.useHelperApp)
|
if (this.MIMEInfo && this.MIMEInfo.preferredAction == this.MIMEInfo.useHelperApp)
|
||||||
this.MIMEInfo.launchWithFile(file);
|
this.MIMEInfo.launchWithFile(file.file);
|
||||||
else
|
else
|
||||||
file.launch();
|
file.launch();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ var Help = Module("Help", {
|
|||||||
var addURIEntry = function addURIEntry(file, uri) addDataEntry(file, util.httpGet(uri).responseText);
|
var addURIEntry = function addURIEntry(file, uri) addDataEntry(file, util.httpGet(uri).responseText);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var zip = services.ZipWriter(FILE, File.MODE_CREATE | File.MODE_WRONLY | File.MODE_TRUNCATE);
|
var zip = services.ZipWriter(FILE.file, File.MODE_CREATE | File.MODE_WRONLY | File.MODE_TRUNCATE);
|
||||||
|
|
||||||
addURIEntry = function addURIEntry(file, uri)
|
addURIEntry = function addURIEntry(file, uri)
|
||||||
zip.addEntryChannel(PATH + file, TIME, 9,
|
zip.addEntryChannel(PATH + file, TIME, 9,
|
||||||
|
|||||||
@@ -361,7 +361,7 @@ var IO = Module("io", {
|
|||||||
file = util.getFile(file);
|
file = util.getFile(file);
|
||||||
if (file && file.exists() && file.isFile() && file.isReadable()) {
|
if (file && file.exists() && file.isFile() && file.isReadable()) {
|
||||||
// let jar = services.zipReader.getZip(file); Crashes.
|
// let jar = services.zipReader.getZip(file); Crashes.
|
||||||
let jar = services.ZipReader(file);
|
let jar = services.ZipReader(file.file);
|
||||||
try {
|
try {
|
||||||
let filter = RegExp("^" + util.regexp.escape(decodeURI(path))
|
let filter = RegExp("^" + util.regexp.escape(decodeURI(path))
|
||||||
+ "[^/]*/?$");
|
+ "[^/]*/?$");
|
||||||
@@ -444,7 +444,7 @@ var IO = Module("io", {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
let process = services.Process(file);
|
let process = services.Process(file.file);
|
||||||
process.run(false, args.map(String), args.length);
|
process.run(false, args.map(String), args.length);
|
||||||
try {
|
try {
|
||||||
if (callable(blocking))
|
if (callable(blocking))
|
||||||
@@ -668,9 +668,7 @@ var IO = Module("io", {
|
|||||||
|
|
||||||
// require bang if any of the paths exist
|
// require bang if any of the paths exist
|
||||||
for (let [type, item] in iter(rtItems)) {
|
for (let [type, item] in iter(rtItems)) {
|
||||||
let file = io.File(rtDir);
|
let file = io.File(rtDir).child(type, config.name + ".vim");
|
||||||
file.append(type);
|
|
||||||
file.append(config.name + ".vim");
|
|
||||||
dactyl.assert(!file.exists() || args.bang, _("io.exists", file.path.quote()));
|
dactyl.assert(!file.exists() || args.bang, _("io.exists", file.path.quote()));
|
||||||
item.file = file;
|
item.file = file;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ var Services = Module("Services", {
|
|||||||
},
|
},
|
||||||
reinit: function () {},
|
reinit: function () {},
|
||||||
|
|
||||||
_create: function (name, args) {
|
_create: function _create(name, args) {
|
||||||
try {
|
try {
|
||||||
var service = this.services[name];
|
var service = this.services[name];
|
||||||
|
|
||||||
@@ -130,7 +130,10 @@ var Services = Module("Services", {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
catch (e if service.quiet !== false) {
|
catch (e) {
|
||||||
|
if (service.quiet === false)
|
||||||
|
throw e.stack ? e : Error(e);
|
||||||
|
|
||||||
if (typeof util !== "undefined")
|
if (typeof util !== "undefined")
|
||||||
util.reportError(e);
|
util.reportError(e);
|
||||||
else
|
else
|
||||||
@@ -149,7 +152,7 @@ var Services = Module("Services", {
|
|||||||
* @param {string} meth The name of the function used to instantiate
|
* @param {string} meth The name of the function used to instantiate
|
||||||
* the service.
|
* the service.
|
||||||
*/
|
*/
|
||||||
add: function (name, class_, ifaces, meth) {
|
add: function add(name, class_, ifaces, meth) {
|
||||||
const self = this;
|
const self = this;
|
||||||
this.services[name] = { method: meth, class: class_, interfaces: Array.concat(ifaces || []) };
|
this.services[name] = { method: meth, class: class_, interfaces: Array.concat(ifaces || []) };
|
||||||
if (name in this && ifaces && !this.__lookupGetter__(name) && !(this[name] instanceof Ci.nsISupports))
|
if (name in this && ifaces && !this.__lookupGetter__(name) && !(this[name] instanceof Ci.nsISupports))
|
||||||
@@ -167,14 +170,14 @@ var Services = Module("Services", {
|
|||||||
* @param {string} init Name of a property or method used to initialize the
|
* @param {string} init Name of a property or method used to initialize the
|
||||||
* class.
|
* class.
|
||||||
*/
|
*/
|
||||||
addClass: function (name, class_, ifaces, init, quiet) {
|
addClass: function addClass(name, class_, ifaces, init, quiet) {
|
||||||
const self = this;
|
const self = this;
|
||||||
this.services[name] = { class: class_, interfaces: Array.concat(ifaces || []), method: "createInstance", init: init, quiet: quiet };
|
this.services[name] = { class: class_, interfaces: Array.concat(ifaces || []), method: "createInstance", init: init, quiet: quiet };
|
||||||
if (init)
|
if (init)
|
||||||
memoize(this.services[name], "callable",
|
memoize(this.services[name], "callable",
|
||||||
function () callable(XPCOMShim(this.interfaces)[this.init]));
|
function () callable(XPCOMShim(this.interfaces)[this.init]));
|
||||||
|
|
||||||
this[name] = function () self._create(name, arguments);
|
this[name] = function Create() self._create(name, arguments);
|
||||||
update.apply(null, [this[name]].concat([Ci[i] for each (i in Array.concat(ifaces))]));
|
update.apply(null, [this[name]].concat([Ci[i] for each (i in Array.concat(ifaces))]));
|
||||||
return this[name];
|
return this[name];
|
||||||
},
|
},
|
||||||
@@ -198,7 +201,7 @@ var Services = Module("Services", {
|
|||||||
*
|
*
|
||||||
* @param {string} name The service's cache key.
|
* @param {string} name The service's cache key.
|
||||||
*/
|
*/
|
||||||
has: function (name) Set.has(this.services, name) && this.services[name].class in Cc &&
|
has: function has(name) Set.has(this.services, name) && this.services[name].class in Cc &&
|
||||||
this.services[name].interfaces.every(function (iface) iface in Ci)
|
this.services[name].interfaces.every(function (iface) iface in Ci)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ var ObjectStore = Class("ObjectStore", StoreBase, {
|
|||||||
var Storage = Module("Storage", {
|
var Storage = Module("Storage", {
|
||||||
alwaysReload: {},
|
alwaysReload: {},
|
||||||
|
|
||||||
init: function () {
|
init: function init() {
|
||||||
this.cleanup();
|
this.cleanup();
|
||||||
|
|
||||||
let { Services } = Cu.import("resource://gre/modules/Services.jsm", {});
|
let { Services } = Cu.import("resource://gre/modules/Services.jsm", {});
|
||||||
@@ -341,7 +341,7 @@ var File = Class("File", {
|
|||||||
if (path instanceof Ci.nsIFileURL)
|
if (path instanceof Ci.nsIFileURL)
|
||||||
path = path.file;
|
path = path.file;
|
||||||
|
|
||||||
if (path instanceof Ci.nsIFile)
|
if (path instanceof Ci.nsIFile || path instanceof File)
|
||||||
file = path.clone();
|
file = path.clone();
|
||||||
else if (/file:\/\//.test(path))
|
else if (/file:\/\//.test(path))
|
||||||
file = services["file:"].getFileFromURLSpec(path);
|
file = services["file:"].getFileFromURLSpec(path);
|
||||||
@@ -359,11 +359,8 @@ var File = Class("File", {
|
|||||||
return File.DoesNotExist(path, e);
|
return File.DoesNotExist(path, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.file = file;
|
this.file = file.QueryInterface(Ci.nsILocalFile);
|
||||||
|
return this;
|
||||||
let self = XPCSafeJSObjectWrapper(file.QueryInterface(Ci.nsILocalFile));
|
|
||||||
self.__proto__ = this;
|
|
||||||
return self;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
charset: Class.Memoize(function () File.defaultEncoding),
|
charset: Class.Memoize(function () File.defaultEncoding),
|
||||||
@@ -372,7 +369,8 @@ var File = Class("File", {
|
|||||||
* @property {nsIFileURL} Returns the nsIFileURL object for this file.
|
* @property {nsIFileURL} Returns the nsIFileURL object for this file.
|
||||||
*/
|
*/
|
||||||
URI: Class.Memoize(function () {
|
URI: Class.Memoize(function () {
|
||||||
let uri = services.io.newFileURI(this).QueryInterface(Ci.nsIFileURL);
|
let uri = services.io.newFileURI(this.file)
|
||||||
|
.QueryInterface(Ci.nsIFileURL);
|
||||||
uri.QueryInterface(Ci.nsIMutable).mutable = false;
|
uri.QueryInterface(Ci.nsIMutable).mutable = false;
|
||||||
return uri;
|
return uri;
|
||||||
}),
|
}),
|
||||||
@@ -380,7 +378,7 @@ var File = Class("File", {
|
|||||||
/**
|
/**
|
||||||
* Iterates over the objects in this directory.
|
* Iterates over the objects in this directory.
|
||||||
*/
|
*/
|
||||||
iterDirectory: function () {
|
iterDirectory: function iterDirectory() {
|
||||||
if (!this.exists())
|
if (!this.exists())
|
||||||
throw Error(_("io.noSuchFile"));
|
throw Error(_("io.noSuchFile"));
|
||||||
if (!this.isDirectory())
|
if (!this.isDirectory())
|
||||||
@@ -392,17 +390,18 @@ var File = Class("File", {
|
|||||||
/**
|
/**
|
||||||
* Returns a new file for the given child of this directory entry.
|
* Returns a new file for the given child of this directory entry.
|
||||||
*/
|
*/
|
||||||
child: function (name) {
|
child: function child() {
|
||||||
let f = this.constructor(this);
|
let f = this.constructor(this);
|
||||||
for each (let elem in name.split(File.pathSplit))
|
for (let [, name] in Iterator(arguments))
|
||||||
f.append(elem);
|
for each (let elem in name.split(File.pathSplit))
|
||||||
|
f.append(elem);
|
||||||
return f;
|
return f;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an iterator for all lines in a file.
|
* Returns an iterator for all lines in a file.
|
||||||
*/
|
*/
|
||||||
get lines() File.readLines(services.FileInStream(this, -1, 0, 0),
|
get lines() File.readLines(services.FileInStream(this.file, -1, 0, 0),
|
||||||
this.charset),
|
this.charset),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -413,8 +412,8 @@ var File = Class("File", {
|
|||||||
* @default #charset
|
* @default #charset
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
read: function (encoding) {
|
read: function read(encoding) {
|
||||||
let ifstream = services.FileInStream(this, -1, 0, 0);
|
let ifstream = services.FileInStream(this.file, -1, 0, 0);
|
||||||
|
|
||||||
return File.readStream(ifstream, encoding || this.charset);
|
return File.readStream(ifstream, encoding || this.charset);
|
||||||
},
|
},
|
||||||
@@ -426,7 +425,7 @@ var File = Class("File", {
|
|||||||
* entries.
|
* entries.
|
||||||
* @returns {[nsIFile]}
|
* @returns {[nsIFile]}
|
||||||
*/
|
*/
|
||||||
readDirectory: function (sort) {
|
readDirectory: function readDirectory(sort) {
|
||||||
if (!this.isDirectory())
|
if (!this.isDirectory())
|
||||||
throw Error(_("io.eNotDir"));
|
throw Error(_("io.eNotDir"));
|
||||||
|
|
||||||
@@ -441,7 +440,7 @@ var File = Class("File", {
|
|||||||
*
|
*
|
||||||
* @returns {nsIFileURL}
|
* @returns {nsIFileURL}
|
||||||
*/
|
*/
|
||||||
toURI: function toURI() services.io.newFileURI(this),
|
toURI: function toURI() services.io.newFileURI(this.file),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes the string *buf* to this file.
|
* Writes the string *buf* to this file.
|
||||||
@@ -467,7 +466,7 @@ var File = Class("File", {
|
|||||||
* @param {string} encoding The encoding to used to write the file.
|
* @param {string} encoding The encoding to used to write the file.
|
||||||
* @default #charset
|
* @default #charset
|
||||||
*/
|
*/
|
||||||
write: function (buf, mode, perms, encoding) {
|
write: function write(buf, mode, perms, encoding) {
|
||||||
function getStream(defaultChar) {
|
function getStream(defaultChar) {
|
||||||
return services.ConvOutStream(ofstream, encoding, 0, defaultChar);
|
return services.ConvOutStream(ofstream, encoding, 0, defaultChar);
|
||||||
}
|
}
|
||||||
@@ -487,7 +486,7 @@ var File = Class("File", {
|
|||||||
if (!this.exists()) // OCREAT won't create the directory
|
if (!this.exists()) // OCREAT won't create the directory
|
||||||
this.create(this.NORMAL_FILE_TYPE, perms);
|
this.create(this.NORMAL_FILE_TYPE, perms);
|
||||||
|
|
||||||
let ofstream = services.FileOutStream(this, mode, perms, 0);
|
let ofstream = services.FileOutStream(this.file, mode, perms, 0);
|
||||||
try {
|
try {
|
||||||
var ocstream = getStream(0);
|
var ocstream = getStream(0);
|
||||||
ocstream.writeString(buf);
|
ocstream.writeString(buf);
|
||||||
@@ -506,7 +505,34 @@ var File = Class("File", {
|
|||||||
ofstream.close();
|
ofstream.close();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// Wrapped native methods:
|
||||||
|
copyTo: function copyTo(dir, name)
|
||||||
|
this.file.copyTo(this.constructor(dir).file,
|
||||||
|
name),
|
||||||
|
|
||||||
|
copyToFollowingLinks: function copyToFollowingLinks(dir, name)
|
||||||
|
this.file.copyToFollowingLinks(this.constructor(dir).file,
|
||||||
|
name),
|
||||||
|
|
||||||
|
moveTo: function moveTo(dir, name)
|
||||||
|
this.file.moveTo(this.constructor(dir).file,
|
||||||
|
name),
|
||||||
|
|
||||||
|
equals: function equals(file)
|
||||||
|
this.file.equals(this.constructor(file).file),
|
||||||
|
|
||||||
|
contains: function contains(dir, recur)
|
||||||
|
this.file.contains(this.constructor(dir).file,
|
||||||
|
recur),
|
||||||
|
|
||||||
|
getRelativeDescriptor: function getRelativeDescriptor(file)
|
||||||
|
this.file.getRelativeDescriptor(this.constructor(file).file),
|
||||||
|
|
||||||
|
setRelativeDescriptor: function setRelativeDescriptor(file, path)
|
||||||
|
this.file.setRelativeDescriptor(this.constructor(file).file,
|
||||||
|
path)
|
||||||
}, {
|
}, {
|
||||||
/**
|
/**
|
||||||
* @property {number} Open for reading only.
|
* @property {number} Open for reading only.
|
||||||
@@ -697,6 +723,28 @@ var File = Class("File", {
|
|||||||
replacePathSep: function (path) path.replace("/", File.PATH_SEP, "g")
|
replacePathSep: function (path) path.replace("/", File.PATH_SEP, "g")
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let (file = services.directory.get("ProfD", Ci.nsIFile)) {
|
||||||
|
Object.keys(file).forEach(function (prop) {
|
||||||
|
if (!(prop in File.prototype)) {
|
||||||
|
let isFunction;
|
||||||
|
try {
|
||||||
|
isFunction = callable(file[prop])
|
||||||
|
}
|
||||||
|
catch (e) {}
|
||||||
|
|
||||||
|
if (isFunction)
|
||||||
|
File.prototype[prop] = util.wrapCallback(function wrapper() this.file[prop].apply(this.file, arguments));
|
||||||
|
else
|
||||||
|
Object.defineProperty(File.prototype, prop, {
|
||||||
|
configurable: true,
|
||||||
|
get: function wrap_get() this.file[prop],
|
||||||
|
set: function wrap_set(val) { this.file[prop] = val; }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
file = null;
|
||||||
|
}
|
||||||
|
|
||||||
endModule();
|
endModule();
|
||||||
|
|
||||||
// catch(e){ dump(e + "\n" + (e.stack || Error().stack)); Components.utils.reportError(e) }
|
// catch(e){ dump(e + "\n" + (e.stack || Error().stack)); Components.utils.reportError(e) }
|
||||||
|
|||||||
@@ -827,7 +827,6 @@ var tests = {
|
|||||||
time: {
|
time: {
|
||||||
error: ["", ":some-nonexistent-command"/*, "some_nonexistent_reference"*/], // FIXME
|
error: ["", ":some-nonexistent-command"/*, "some_nonexistent_reference"*/], // FIXME
|
||||||
singleOutput: [":js null", "null"]
|
singleOutput: [":js null", "null"]
|
||||||
|
|
||||||
},
|
},
|
||||||
get tlistkeys() this.listcommands,
|
get tlistkeys() this.listcommands,
|
||||||
tmap: {},
|
tmap: {},
|
||||||
@@ -903,7 +902,7 @@ var tests = {
|
|||||||
error: ["foo"],
|
error: ["foo"],
|
||||||
multiOutput: [
|
multiOutput: [
|
||||||
["", function (msg) {
|
["", function (msg) {
|
||||||
var res = /(\w+dactyl) (\S+) \(([\^)]+)\) running on:\nMozilla/;
|
var res = /(\w+dactyl) (\S+) \(([\^)]+)\) running on:\nMozilla/.exec(msg);
|
||||||
return res && res[2] != "null" && res[3] != "null";
|
return res && res[2] != "null" && res[3] != "null";
|
||||||
}]
|
}]
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user