aboutsummaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authormrmr19932014-12-29 09:33:34 +0000
committermrmr19932014-12-29 09:33:34 +0000
commit5ea0f75a00b592956981bf8f6f7a0d2fa89620ae (patch)
treefc2d8ba0ebdfcd50e6aa7392b3a716c4c0d5ea1a /pages
parent71af7f016f51e3c8b9c1fcfba46cb8289c91e030 (diff)
downloadvimium-5ea0f75a00b592956981bf8f6f7a0d2fa89620ae.tar.bz2
Close UIComponent iframes when pressing esc by default
Diffstat (limited to 'pages')
-rw-r--r--pages/test_ui_component.coffee5
-rw-r--r--pages/test_ui_component.html1
-rw-r--r--pages/ui_component_server.coffee9
3 files changed, 10 insertions, 5 deletions
diff --git a/pages/test_ui_component.coffee b/pages/test_ui_component.coffee
index 0156c8f2..b1d3625a 100644
--- a/pages/test_ui_component.coffee
+++ b/pages/test_ui_component.coffee
@@ -1,7 +1,2 @@
UIComponentServer.addEventListener "message", (event) ->
document.body.innerHTML = event.data
-
-document.addEventListener "DOMContentLoaded", ->
- document.addEventListener "keydown", (event) ->
- # Close on any key.
- console.log "How do I close myself?"
diff --git a/pages/test_ui_component.html b/pages/test_ui_component.html
index b8ad7475..06af346c 100644
--- a/pages/test_ui_component.html
+++ b/pages/test_ui_component.html
@@ -1,6 +1,7 @@
<html>
<head>
<title>Test</title>
+ <script type="text/javascript" src="../lib/keyboard_utils.js"></script>
<script type="text/javascript" src="ui_component_server.js"></script>
<script type="text/javascript" src="test_ui_component.js"></script>
<link rel="stylesheet" type="text/css" href="../content_scripts/vimium.css" />
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