diff options
| -rw-r--r-- | content_scripts/hud.coffee | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee index 7fb70bb5..33656210 100644 --- a/content_scripts/hud.coffee +++ b/content_scripts/hud.coffee @@ -74,17 +74,18 @@ HUD = findModeKeydown: (event) -> window.scrollTo @findMode.scrollX, @findMode.scrollY if @findMode.options.returnToViewport - if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey - @findMode.exit() - new PostFindMode if findModeQuery.hasResults - else if event.keyCode == keyCodes.enter + postExit = null + + if event.keyCode == keyCodes.enter handleEnterForFindMode() - @findMode.exit() - new PostFindMode if findModeQuery.hasResults else if KeyboardUtils.isEscape event - @findMode.exit() - handleEscapeForFindMode() - new PostFindMode if findModeQuery.hasResults + # We don't want FindMode to handle the click events that handleEscapeForFindMode can generate, so we + # wait until the mode is closed before running it. + postExit = handleEscapeForFindMode + + @findMode.exit() + postExit?() + new PostFindMode if findModeQuery.hasResults isReady: do -> ready = false |
