mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-01-06 13:34:13 +01:00
Stop unexpectedly going into INSERT mode on Facebook.
This commit is contained in:
@@ -875,19 +875,23 @@ var Events = Module("events", {
|
|||||||
let haveInput = modes.stack.some(m => m.main.input);
|
let haveInput = modes.stack.some(m => m.main.input);
|
||||||
|
|
||||||
if (DOM(elem || win).isEditable) {
|
if (DOM(elem || win).isEditable) {
|
||||||
if (!haveInput)
|
let e = elem || win;
|
||||||
if (!isinstance(modes.main, [modes.INPUT, modes.TEXT_EDIT, modes.VISUAL]))
|
if (!(e instanceof Ci.nsIDOMWindow &&
|
||||||
if (options["insertmode"])
|
DOM(e.document.activeElement).style.MozUserModify != "read-write")) {
|
||||||
modes.push(modes.INSERT);
|
if (!haveInput)
|
||||||
else {
|
if (!isinstance(modes.main, [modes.INPUT, modes.TEXT_EDIT, modes.VISUAL]))
|
||||||
modes.push(modes.TEXT_EDIT);
|
if (options["insertmode"])
|
||||||
if (elem.selectionEnd - elem.selectionStart > 0)
|
modes.push(modes.INSERT);
|
||||||
modes.push(modes.VISUAL);
|
else {
|
||||||
}
|
modes.push(modes.TEXT_EDIT);
|
||||||
|
if (elem.selectionEnd - elem.selectionStart > 0)
|
||||||
|
modes.push(modes.VISUAL);
|
||||||
|
}
|
||||||
|
|
||||||
if (hasHTMLDocument(win))
|
if (hasHTMLDocument(win))
|
||||||
buffer.lastInputField = elem || win;
|
buffer.lastInputField = elem || win;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elem && Events.isInputElement(elem)) {
|
if (elem && Events.isInputElement(elem)) {
|
||||||
@@ -969,7 +973,7 @@ var Events = Module("events", {
|
|||||||
},
|
},
|
||||||
|
|
||||||
isInputElement: function isInputElement(elem) {
|
isInputElement: function isInputElement(elem) {
|
||||||
return DOM(elem).isEditable ||
|
return elem instanceof Ci.nsIDOMElement && DOM(elem).isEditable ||
|
||||||
isinstance(elem, [Ci.nsIDOMHTMLEmbedElement,
|
isinstance(elem, [Ci.nsIDOMHTMLEmbedElement,
|
||||||
Ci.nsIDOMHTMLObjectElement,
|
Ci.nsIDOMHTMLObjectElement,
|
||||||
Ci.nsIDOMHTMLSelectElement]);
|
Ci.nsIDOMHTMLSelectElement]);
|
||||||
|
|||||||
@@ -977,9 +977,14 @@ Class.prototype = {
|
|||||||
callback.call(this);
|
callback.call(this);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
util.dump("Error invoking timer callback registered at " +
|
try {
|
||||||
[frame.filename, frame.lineNumber, ""].join(":"));
|
util.dump("Error invoking timer callback registered at " +
|
||||||
Cu.reportError(e);
|
[frame.filename, frame.lineNumber, ""].join(":"));
|
||||||
|
util.reportError(e);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
Cu.reportError(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let frame = Components.stack.caller;
|
let frame = Components.stack.caller;
|
||||||
|
|||||||
Reference in New Issue
Block a user