1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-05 13:54:17 +01:00

Use Object.defineProperty instead of __defineGetter__/__defineSetter__

In Firefox 48+, the __defineSetter__/__defineSetter__ is deprecated,
so use Object.defineProperty instead.
This commit is contained in:
Zheng Chaoping
2016-05-04 20:00:59 +08:00
parent 1a4290d92a
commit 195ea78efb
20 changed files with 291 additions and 146 deletions

View File

@@ -180,8 +180,16 @@ var CommandWidgets = Class("CommandWidgets", {
return (obj.getElement || identity)(map[id] || document.getElementById(prefix + id));
}
this.active.__defineGetter__(obj.name, () => this.activeGroup[obj.name][obj.name]);
this.activeGroup.__defineGetter__(obj.name, () => this.getGroup(obj.name));
Object.defineProperty(this.active, obj.name, {
get: () => this.activeGroup[obj.name][obj.name],
enumerable: true,
configurable: true,
});
Object.defineProperty(this.activeGroup, obj.name, {
get: () => this.getGroup(obj.name),
enumerable: true,
configurable: true,
});
memoize(this.statusbar, obj.name, () => get("dactyl-statusline-field-", statusline.widgets, (obj.id || obj.name)));
memoize(this.commandbar, obj.name, () => get("dactyl-", {}, (obj.id || obj.name)));

View File

@@ -16,13 +16,17 @@ var Editor = Module("editor", XPCOM(Ci.nsIEditActionListener, ModuleBase), {
if (elem)
this.element = elem;
else
this.__defineGetter__("element", () => {
let elem = dactyl.focusedElement;
if (elem)
return elem.inputField || elem;
Object.defineProperty(this, "element", {
get: () => {
let elem = dactyl.focusedElement;
if (elem)
return elem.inputField || elem;
let win = document.commandDispatcher.focusedWindow;
return DOM(win).isEditable && win || null;
let win = document.commandDispatcher.focusedWindow;
return DOM(win).isEditable && win || null;
},
enumerable: true,
configurable: true
});
},

View File

@@ -762,9 +762,13 @@ var Hints = Module("hints", {
events.listen(appContent, "scroll", this.resizeTimer.bound.tell, false);
const Mode = Hints.Mode;
Mode.prototype.__defineGetter__("matcher", function () {
return options.get("extendedhinttags")
.getKey(this.name, options.get("hinttags").matcher);
Object.defineProperty(Mode.prototype, "matcher", {
get() {
return options.get("extendedhinttags")
.getKey(this.name, options.get("hinttags").matcher);
},
enumerable: true,
configurable: true
});
function cleanLoc(loc) {

View File

@@ -63,8 +63,12 @@ var History = Module("history", {
let sh = webNav.sessionHistory;
let obj = [];
obj.__defineGetter__("index", () => sh.index);
obj.__defineSetter__("index", val => { webNav.gotoIndex(val); });
Object.defineProperty(obj, "index", {
get: () => sh.index,
set: val => webNav.gotoIndex(val),
enumerable: true,
configurable: true
});
obj[Symbol.iterator] = function () { return this.entries(); };
for (let item of iter(sh.SHistoryEnumerator, Ci.nsISHEntry))