From 5ea0f75a00b592956981bf8f6f7a0d2fa89620ae Mon Sep 17 00:00:00 2001
From: mrmr1993
Date: Mon, 29 Dec 2014 09:33:34 +0000
Subject: Close UIComponent iframes when pressing esc by default
---
pages/test_ui_component.coffee | 5 -----
pages/test_ui_component.html | 1 +
pages/ui_component_server.coffee | 9 +++++++++
3 files changed, 10 insertions(+), 5 deletions(-)
(limited to 'pages')
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 @@
Test
+
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
--
cgit v1.2.3