diff --git a/common/content/buffer.js b/common/content/buffer.js index 46fb9988..74621395 100644 --- a/common/content/buffer.js +++ b/common/content/buffer.js @@ -208,7 +208,6 @@ const Buffer = Module("buffer", { } if (doc instanceof HTMLDocument) { - if (doc.defaultView.frameElement) { // document is part of a frameset @@ -1504,12 +1503,9 @@ const Buffer = Module("buffer", { .QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIXULWindow) .XULBrowserWindow = this.progressListener; - let appContent = document.getElementById("appcontent"); - if (appContent) { - events.addSessionListener(appContent, "DOMContentLoaded", this.closure.onDOMContentLoaded, true); - events.addSessionListener(appContent, "load", this.closure.onPageLoad, true); - events.addSessionListener(appContent, "scroll", this.closure._updateBufferPosition, false); - } + events.addSessionListener(config.browser, "DOMContentLoaded", this.closure.onDOMContentLoaded, true); + events.addSessionListener(config.browser, "load", this.closure.onPageLoad, true); + events.addSessionListener(config.browser, "scroll", this.closure._updateBufferPosition, false); }, mappings: function () { var myModes = config.browserModes; diff --git a/common/content/events.js b/common/content/events.js index d9e70e8a..c121882e 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -1113,11 +1113,11 @@ const Events = Module("events", { function () { commandline.open(":", "", modes.EX); }); // focus events - mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.CARET], + mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.CARET].filter(util.identity), [""], "Advance keyboard focus", function () { document.commandDispatcher.advanceFocus(); }); - mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.CARET, modes.INSERT, modes.TEXT_EDIT], + mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.CARET, modes.INSERT, modes.TEXT_EDIT].filter(util.identity), [""], "Rewind keyboard focus", function () { document.commandDispatcher.rewindFocus(); }); @@ -1134,12 +1134,12 @@ const Events = Module("events", { function () { return; }); // macros - mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE], + mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE].filter(util.identity), ["q"], "Record a key sequence into a macro", function (arg) { events.startRecording(arg); }, { arg: true }); - mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE], + mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE].filter(util.identity), ["@"], "Play a macro", function (count, arg) { count = Math.max(count, 1); diff --git a/common/content/mappings.js b/common/content/mappings.js index 1a28a899..2045e468 100644 --- a/common/content/mappings.js +++ b/common/content/mappings.js @@ -32,6 +32,8 @@ const Map = Class("Map", { init: function (modes, keys, description, action, extraInfo) { modes = Array.concat(modes).map(function (m) isObject(m) ? m.mask : m); + if (!modes.every(util.identity)) + throw Error("Invalid modes"); this.id = ++Map.id; this.modes = modes; diff --git a/common/content/modes.js b/common/content/modes.js index f9d3596a..ad9cd942 100644 --- a/common/content/modes.js +++ b/common/content/modes.js @@ -29,7 +29,7 @@ const Modes = Module("modes", { } }); - this._mainModes = [this.NONE]; + this._mainModes = []; this._lastMode = 0; this._modeMap = {};