diff --git a/common/content/buffer.js b/common/content/buffer.js index b347eeaf..d63630c8 100644 --- a/common/content/buffer.js +++ b/common/content/buffer.js @@ -463,6 +463,10 @@ var Buffer = Module("buffer", { var flags = services.focus.FLAG_BYMOUSE; else flags = services.focus.FLAG_SHOWRING; + + if (!elem.dactylHadFocus && elem.value && elem.selectionStart == elem.selectionEnd) + elem.selectionStart = elem.selectionEnd = elem.value.length; + dactyl.focus(elem, flags); if (elem instanceof Window) { diff --git a/common/content/events.js b/common/content/events.js index 3e31103b..6e3471f1 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -1246,6 +1246,7 @@ var Events = Module("events", { focus: function onFocus(event) { let elem = event.originalTarget; + elem.dactylHadFocus = true; if (event.target instanceof Ci.nsIDOMXULTextBoxElement) if (Events.isHidden(elem, true)) elem.blur();