diff options
| -rw-r--r-- | content_scripts/mode.coffee | 9 | ||||
| -rw-r--r-- | content_scripts/mode_insert.coffee | 2 | ||||
| -rw-r--r-- | content_scripts/mode_visual.coffee | 4 |
3 files changed, 7 insertions, 8 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee index 857eb140..ff75460f 100644 --- a/content_scripts/mode.coffee +++ b/content_scripts/mode.coffee @@ -27,7 +27,7 @@ # provided below: # # SingletonMode: ensures that at most one instance of the mode is active at any one time. -# ConstrainedMode: exits the mode if the an indicated element loses the focus. +# ExitOnBlur: exits the mode if the an indicated element loses the focus. # ExitOnEscapeMode: exits the mode on escape. # StateMode: tracks the current Vimium state in @enabled and @passKeys. # @@ -155,12 +155,11 @@ class ExitOnEscapeMode extends SingletonMode @suppressEvent # This mode exits when element (if defined) loses the focus. -class ConstrainedMode extends ExitOnEscapeMode +class ExitOnBlur extends ExitOnEscapeMode constructor: (element, singleton=null, options={}) -> super singleton, options - if element?.focus? - element.focus() + if element? @push "blur": (event) => @alwaysContinueBubbling => @exit() if event.srcElement == element @@ -205,6 +204,6 @@ new class BadgeMode extends StateMode root = exports ? window root.Mode = Mode root.SingletonMode = SingletonMode -root.ConstrainedMode = ConstrainedMode +root.ExitOnBlur = ExitOnBlur root.StateMode = StateMode root.ExitOnEscapeMode = ExitOnEscapeMode diff --git a/content_scripts/mode_insert.coffee b/content_scripts/mode_insert.coffee index c340c559..960b42f8 100644 --- a/content_scripts/mode_insert.coffee +++ b/content_scripts/mode_insert.coffee @@ -18,7 +18,7 @@ isFocusable =(element) -> isEditable(element) or isEmbed element # This mode is installed when insert mode is active. -class InsertMode extends ConstrainedMode +class InsertMode extends ExitOnBlur constructor: (@insertModeLock=null) -> super @insertModeLock, InsertMode, name: "insert" diff --git a/content_scripts/mode_visual.coffee b/content_scripts/mode_visual.coffee index 09335057..a9acf8be 100644 --- a/content_scripts/mode_visual.coffee +++ b/content_scripts/mode_visual.coffee @@ -1,6 +1,6 @@ -# Note. ConstrainedMode extends extends ExitOnEscapeMode. So exit-on-escape is handled there. -class VisualMode extends ConstrainedMode +# Note. ExitOnBlur extends extends ExitOnEscapeMode. So exit-on-escape is handled there. +class VisualMode extends ExitOnBlur constructor: (element=null) -> super element, null, name: "visual" |
