aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content_scripts/ui_component.coffee7
-rw-r--r--content_scripts/vimium_frontend.coffee2
-rw-r--r--pages/ui_component_server.coffee9
3 files changed, 8 insertions, 10 deletions
diff --git a/content_scripts/ui_component.coffee b/content_scripts/ui_component.coffee
index b0e4f71c..f0593f1b 100644
--- a/content_scripts/ui_component.coffee
+++ b/content_scripts/ui_component.coffee
@@ -29,9 +29,9 @@ class UIComponent
chrome.storage.local.get "iframeMessageSecret", ({iframeMessageSecret: secret}) =>
@iframeElement.contentWindow.postMessage secret, chrome.runtime.getURL(""), [messageChannel.port2]
- postMessage: (data) -> @iframePort.postMessage data
+ postMessage: (message) -> @iframePort.postMessage message
- # Execute each event listener on the current event until we get a falsy return value.
+ # Execute each event listener on the current event until we get a non-null falsy return value.
handleMessage: (event) ->
for listener in @messageEventListeners
retVal = listener.call this, event
@@ -61,7 +61,8 @@ class UIComponent
else
@hide()
- show: ->
+ show: (message) ->
+ @postMessage message if message?
@iframeElement.setAttribute "style", @showStyle
@iframeElement.focus()
@showing = true
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index a505a84a..beb6c528 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -1091,8 +1091,6 @@ Tween =
testUIComponent = null
testUIComponentSetup = ->
testUIComponent = new UIComponent "pages/test_ui_component.html", "testUIComponent"
- testUIComponent.setHideStyle "display: none;"
- testUIComponent.setShowStyle "display: block;"
window.activateTestUIComponent = ->
testUIComponent.show()
diff --git a/pages/ui_component_server.coffee b/pages/ui_component_server.coffee
index 3879cea0..7b40be63 100644
--- a/pages/ui_component_server.coffee
+++ b/pages/ui_component_server.coffee
@@ -18,12 +18,13 @@ UIComponentServer =
portOpen: (@ownerPagePort) ->
@ownerPagePort.onmessage = (event) => @handleMessage event
- postMessage: (data) -> @ownerPagePort.postMessage data
+ postMessage: (message) -> @ownerPagePort.postMessage message
- # Execute each event listener on the current event until we get a falsy return value.
+ # Execute each event listener on the current event until we get a non-null falsy return value.
handleMessage: (event) ->
for listener in @messageEventListeners
retVal = listener.call this, event
+ retVal ?= true
return false unless retVal
true
@@ -34,9 +35,7 @@ UIComponentServer =
removeEventListener: (type, listener) ->
if type == "message"
- listenerIndex = @messageEventListeners.indexOf listener
- if listenerIndex > -1
- @messageEventListeners = @messageEventListeners.splice listenerIndex, 1
+ @messageEventListeners = @messageEventListeners.filter (f) -> f != listener
undefined
keydownListener: (event) ->