aboutsummaryrefslogtreecommitdiffstats
path: root/pages/ui_component_server.coffee
diff options
context:
space:
mode:
authormrmr19932014-12-29 09:33:34 +0000
committermrmr19932014-12-29 09:33:34 +0000
commit5ea0f75a00b592956981bf8f6f7a0d2fa89620ae (patch)
treefc2d8ba0ebdfcd50e6aa7392b3a716c4c0d5ea1a /pages/ui_component_server.coffee
parent71af7f016f51e3c8b9c1fcfba46cb8289c91e030 (diff)
downloadvimium-5ea0f75a00b592956981bf8f6f7a0d2fa89620ae.tar.bz2
Close UIComponent iframes when pressing esc by default
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