diff --git a/common/content/events.js b/common/content/events.js index 31563e40..a90e31bd 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -850,7 +850,8 @@ var Events = Module("events", { return; if (isinstance(elem, [HTMLEmbedElement, HTMLEmbedElement])) { - modes.push(modes.EMBED); + if (!modes.main.passthrough && modes.main != modes.EMBED) + modes.push(modes.EMBED); return; } diff --git a/common/content/modes.js b/common/content/modes.js index d097f108..e681835e 100644 --- a/common/content/modes.js +++ b/common/content/modes.js @@ -141,6 +141,7 @@ var Modes = Module("modes", { this.addMode("EMBED", { description: "Active when an or element is focused", + bases: [modes.MAIN], insert: true, ownsFocus: true, passthrough: true @@ -308,6 +309,7 @@ var Modes = Module("modes", { }, removeMode: function removeMode(mode) { + this.remove(mode); if (this[mode.name] == mode) delete this[mode.name]; if (this._modeMap[mode.name] == mode) diff --git a/common/modules/config.jsm b/common/modules/config.jsm index c053f448..df607445 100644 --- a/common/modules/config.jsm +++ b/common/modules/config.jsm @@ -113,7 +113,7 @@ var ConfigBase = Class("ConfigBase", { if (!this.haveGecko("2b")) highlight.loadCSS(