1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-05 15:45:45 +01:00

Remove wip delta that got sucked into revision 5d591219a8ce. Fixes Firefox <29.

This commit is contained in:
Kris Maglione
2014-03-29 12:29:13 -07:00
parent a46a6c5614
commit 8686bfd08b

View File

@@ -110,34 +110,49 @@ var Modules = function Modules(window) {
const BASES = [BASE, "resource://dactyl-local-content/"];
var traps = {
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);
return p;
},
set: function window_set(target, prop, val) {
return target[prop] = val;
}
};
let proxyCache = {};
if (config.haveGecko(29))
var proxy = new Proxy(window, traps);
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);
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, update(traps, {
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),
@@ -146,7 +161,7 @@ var Modules = function Modules(window) {
hasOwn: function (target, prop) hasOwnProperty(window, prop),
enumerate: function (target) (p for (p in window)),
iterate: function (target) (p for (p of window))
}));
});
}
var jsmodules = newContext(proxy, false, "Dactyl `jsmodules`");