1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-06 08:14:13 +01:00

Bump minVersion to the latest ESR of 31.

Remove some version specific code that is no longer applicable.

--HG--
extra : amend_source : 803a60c3f5578a56a6832bd2dba9cce07784b873
This commit is contained in:
Doug Kearns
2014-10-04 02:33:48 +10:00
parent 85465a5f50
commit 07d7cbdede
5 changed files with 17 additions and 60 deletions

View File

@@ -48,9 +48,6 @@ var ConfigBase = Class("ConfigBase", {
* initialization code. Must call superclass's init function.
*/
init: function init() {
if (!config.haveGecko("26"))
this.modules.global = this.modules.global.filter(m => m != "downloads"); // FIXME
this.loadConfig();
util.trapErrors(() => {

View File

@@ -111,58 +111,24 @@ var Modules = function Modules(window) {
const BASES = [BASE, "resource://dactyl-local-content/"];
let proxyCache = {};
if (config.haveGecko(29))
var proxy = new Proxy(window, {
get: function window_get(target, prop) {
// `in`, not `hasOwnProperty`, because we want to return
// unbound methods in `Object.prototype`
if (prop in proxyCache)
return proxyCache[prop];
var proxy = new Proxy(window, {
get: function window_get(target, prop) {
// `in`, not `hasOwnProperty`, because we want to return
// unbound methods in `Object.prototype`
if (prop in proxyCache)
return proxyCache[prop];
let p = target[prop];
if (callable(p))
return proxyCache[prop] = p.bind(target);
let p = target[prop];
if (callable(p))
return proxyCache[prop] = p.bind(target);
return p;
},
return p;
},
set: function window_set(target, prop, val) {
return target[prop] = val;
}
});
else {
// Bug 814892
let o = {};
// Oh, the brokenness... See bug 793210
Object.preventExtensions(o);
proxy = new Proxy(o, {
get: function window_get(target, prop) {
// `in`, not `hasOwnProperty`, because we want to return
// unbound methods in `Object.prototype`
if (prop in proxyCache)
return proxyCache[prop];
let p = window[prop];
if (callable(p))
return proxyCache[prop] = p.bind(window);
return p;
},
set: function window_set(target, prop, val) {
return window[prop] = val;
},
getOwnPropertyDescriptor: function (target, prop) Object.getOwnPropertyDescriptor(window, prop),
getOwnPropertyNames: function (target, prop) Object.getOwnPropertyNames(window),
defineProperty: function (target, prop, desc) Object.defineProperty(window, prop, desc),
deleteProperty: function (target, prop) { delete window[prop]; },
has: function (target, prop) prop in window,
hasOwn: function (target, prop) hasOwnProperty(window, prop),
enumerate: function (target) (p for (p in window)),
iterate: function (target) (p for (p of window))
});
}
set: function window_set(target, prop, val) {
return target[prop] = val;
}
});
var jsmodules = newContext(proxy, false, "Dactyl `jsmodules`");
jsmodules.NAME = "jsmodules";