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