From 20c1fef75eef7a203cc550f2d035ee5c82be5bd6 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Mon, 18 Apr 2016 10:28:22 +0100 Subject: Simplify find-mode exit event. Previously, we were transferring a "transferable event" from the HUD UI component to the content script (when find mode exits). In addition to being unnecessary, this was triggering a warning in the console because we were reading *all* of the events keys, including one which triggers a "this is being deprecated" warning. The approach here is simpler, transfers less data and avoids triggering the warning. --- content_scripts/hud.coffee | 9 ++++----- pages/hud.coffee | 7 ++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee index 4ba8557c..0d3a6f95 100644 --- a/content_scripts/hud.coffee +++ b/content_scripts/hud.coffee @@ -53,7 +53,8 @@ HUD = else @tween.fade 0, 150, => @hide true, updateIndicator - hideFindMode: (data) -> + # These parameters describe the reason find mode is exiting, and come from the HUD UI component. + hideFindMode: ({exitEventIsEnter, exitEventIsEscape}) -> @findMode.checkReturnToViewPort() # An element won't receive a focus event if the search landed on it while we were in the HUD iframe. To @@ -65,13 +66,11 @@ HUD = document.activeElement?.blur() focusNode?.focus() - {event} = data - - if event.keyCode == keyCodes.enter + if exitEventIsEnter handleEnterForFindMode() if FindMode.query.hasResults postExit = -> new PostFindMode - else if KeyboardUtils.isEscape event + else if exitEventIsEscape # 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 diff --git a/pages/hud.coffee b/pages/hud.coffee index fcc7b1dd..6eaa5f9c 100644 --- a/pages/hud.coffee +++ b/pages/hud.coffee @@ -15,18 +15,15 @@ setTextInInputElement = (inputElement, text) -> document.addEventListener "keydown", (event) -> inputElement = document.getElementById "hud-find-input" return unless inputElement? # Don't do anything if we're not in find mode. - transferrableEvent = {} - # NOTE(mrmr1993): We use for, not for own, here, since we want to access members from the Event prototype. - for key, value of event - transferrableEvent[key] = value if typeof value in ["number", "string"] if (event.keyCode in [keyCodes.backspace, keyCodes.deleteKey] and inputElement.textContent.length == 0) or event.keyCode == keyCodes.enter or KeyboardUtils.isEscape event UIComponentServer.postMessage name: "hideFindMode" - event: transferrableEvent query: findMode.rawQuery + exitEventIsEnter: event.keyCode == keyCodes.enter + exitEventIsEscape: KeyboardUtils.isEscape event else if event.keyCode == keyCodes.upArrow if rawQuery = FindModeHistory.getQuery findMode.historyIndex + 1 -- cgit v1.2.3