aboutsummaryrefslogtreecommitdiffstats
path: root/pages/ui_component_server.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'pages/ui_component_server.coffee')
-rw-r--r--pages/ui_component_server.coffee9
1 files changed, 9 insertions, 0 deletions
diff --git a/pages/ui_component_server.coffee b/pages/ui_component_server.coffee
index 240233ed..3879cea0 100644
--- a/pages/ui_component_server.coffee
+++ b/pages/ui_component_server.coffee
@@ -7,11 +7,13 @@ window.addEventListener "message", (event) ->
chrome.storage.local.get "iframeMessageSecret", ({iframeMessageSecret: secret}) ->
return unless event.data == secret
UIComponentServer.portOpen event.ports[0]
+ window.addEventListener "keydown", (event) -> UIComponentServer.keydownListener event
window.removeEventListener "message", currentFunction # Stop listening for message events.
UIComponentServer =
ownerPagePort: null
messageEventListeners: []
+ exitOnEsc: true
portOpen: (@ownerPagePort) ->
@ownerPagePort.onmessage = (event) => @handleMessage event
@@ -37,5 +39,12 @@ UIComponentServer =
@messageEventListeners = @messageEventListeners.splice listenerIndex, 1
undefined
+ keydownListener: (event) ->
+ if @exitOnEsc and KeyboardUtils.isEscape event
+ @postMessage "hide"
+ false
+ else
+ true
+
root = exports ? window
root.UIComponentServer = UIComponentServer