]> git.donarmstrong.com Git - dactyl.git/blobdiff - common/content/events.js
Import r6976 from upstream hg supporting Firefox up to 25.*
[dactyl.git] / common / content / events.js
index ffa279bb1fd41ebc1b362bdee56d9908dffba44c..8006c4cdb422a0aa203159400d69d58ed011c922 100644 (file)
@@ -1,6 +1,6 @@
 // Copyright (c) 2006-2008 by Martin Stubenschrott <stubenschrott@vimperator.org>
 // Copyright (c) 2007-2011 by Doug Kearns <dougkearns@gmail.com>
-// Copyright (c) 2008-2012 Kris Maglione <maglione.k at Gmail>
+// Copyright (c) 2008-2013 Kris Maglione <maglione.k at Gmail>
 //
 // This work is licensed for reuse under an MIT license. Details are
 // given in the LICENSE.txt file included with this file.
@@ -140,7 +140,7 @@ var Events = Module("events", {
                         this.active.push(elem);
                 }
 
-                this.active = this.active.filter(function (e) e.popupBoxObject && e.popupBoxObject.popupState != "closed");
+                this.active = this.active.filter(e => e.popupBoxObject && e.popupBoxObject.popupState != "closed");
 
                 if (!this.active.length && !this.activeMenubar)
                     modes.remove(modes.MENU, true);
@@ -212,8 +212,7 @@ var Events = Module("events", {
     /**
      * Wraps an event listener to ensure that errors are reported.
      */
-    wrapListener: function wrapListener(method, self) {
-        self = self || this;
+    wrapListener: function wrapListener(method, self = this) {
         method.wrapper = wrappedListener;
         wrappedListener.wrapped = method;
         function wrappedListener(event) {
@@ -465,34 +464,35 @@ var Events = Module("events", {
         let accel = config.OS.isMacOSX ? "metaKey" : "ctrlKey";
 
         let access = iter({ 1: "shiftKey", 2: "ctrlKey", 4: "altKey", 8: "metaKey" })
-                        .filter(function ([k, v]) this & k, prefs.get("ui.key.chromeAccess"))
-                        .map(function ([k, v]) [v, true])
+                        .filter(function ([k, v]) this & k,
+                                prefs.get("ui.key.chromeAccess"))
+                        .map(([k, v]) => [v, true])
                         .toObject();
 
     outer:
         for (let [, key] in iter(elements))
-            if (filters.some(function ([k, v]) key.getAttribute(k) == v)) {
+            if (filters.some(([k, v]) => key.getAttribute(k) == v)) {
                 let keys = { ctrlKey: false, altKey: false, shiftKey: false, metaKey: false };
                 let needed = { ctrlKey: event.ctrlKey, altKey: event.altKey, shiftKey: event.shiftKey, metaKey: event.metaKey };
 
                 let modifiers = (key.getAttribute("modifiers") || "").trim().split(/[\s,]+/);
                 for (let modifier in values(modifiers))
                     switch (modifier) {
-                        case "access": update(keys, access); break;
-                        case "accel":  keys[accel] = true; break;
-                        default:       keys[modifier + "Key"] = true; break;
-                        case "any":
-                            if (!iter.some(keys, function ([k, v]) v && needed[k]))
-                                continue outer;
-                            for (let [k, v] in iter(keys)) {
-                                if (v)
-                                    needed[k] = false;
-                                keys[k] = false;
-                            }
-                            break;
+                    case "access": update(keys, access); break;
+                    case "accel":  keys[accel] = true; break;
+                    default:       keys[modifier + "Key"] = true; break;
+                    case "any":
+                        if (!iter.some(keys, ([k, v]) => v && needed[k]))
+                            continue outer;
+                        for (let [k, v] in iter(keys)) {
+                            if (v)
+                                needed[k] = false;
+                            keys[k] = false;
+                        }
+                        break;
                     }
 
-                if (iter(needed).every(function ([k, v]) v == keys[k]))
+                if (iter(needed).every(([k, v]) => (v == keys[k])))
                     return key;
             }
 
@@ -542,7 +542,8 @@ var Events = Module("events", {
         dactyl.echo(_("macro.loadWaiting"), commandline.FORCE_SINGLELINE);
 
         const maxWaitTime = (time || 25);
-        util.waitFor(function () buffer.loaded, this, maxWaitTime * 1000, true);
+        util.waitFor(() => buffer.loaded, this,
+                     maxWaitTime * 1000, true);
 
         dactyl.echo("", commandline.FORCE_SINGLELINE);
         if (!buffer.loaded)
@@ -659,7 +660,7 @@ var Events = Module("events", {
         // the command-line has focus
         // TODO: ...help me...please...
         keypress: function onKeyPress(event) {
-            event.dactylDefaultPrevented = event.getPreventDefault();
+            event.dactylDefaultPrevented = event.defaultPrevented;
 
             let duringFeed = this.duringFeed || [];
             this.duringFeed = [];
@@ -797,8 +798,9 @@ var Events = Module("events", {
                         && let (key = DOM.Event.stringify(event))
                             !(modes.main.count && /^\d$/.test(key) ||
                               modes.main.allBases.some(
-                                function (mode) mappings.hives.some(
-                                    function (hive) hive.get(mode, key) || hive.getCandidates(mode, key))));
+                                mode => mappings.hives
+                                                .some(hive => hive.get(mode, key)
+                                                           || hive.getCandidates(mode, key))));
 
             events.dbg("ON " + event.type.toUpperCase() + " " + DOM.Event.stringify(event) +
                        " passing: " + this.passing + " " +
@@ -870,7 +872,7 @@ var Events = Module("events", {
                 return;
             }
 
-            let haveInput = modes.stack.some(function (m) m.main.input);
+            let haveInput = modes.stack.some(m => m.main.input);
 
             if (DOM(elem || win).isEditable) {
                 if (!haveInput)
@@ -1104,7 +1106,7 @@ var Events = Module("events", {
         const Hive = Class("Hive", {
             init: function init(values, map) {
                 this.name = "passkeys:" + map;
-                this.stack = MapHive.Stack(values.map(function (v) Map(v[map + "Keys"])));
+                this.stack = MapHive.Stack(values.map(v => Map(v[map + "Keys"])));
                 function Map(keys) ({
                     execute: function () Events.PASS_THROUGH,
                     keys: keys