diff options
| author | Stephen Blott | 2016-04-18 07:43:52 +0100 |
|---|---|---|
| committer | Stephen Blott | 2016-04-18 07:45:36 +0100 |
| commit | 289798866a332f52253c4c52f8d6874211d25611 (patch) | |
| tree | 4a8d37fb7c5daafa045d148cc1a03ba1f0d62232 | |
| parent | 9c4c79eef9267d4bde62a996f82fcb0eff66df91 (diff) | |
| download | vimium-289798866a332f52253c4c52f8d6874211d25611.tar.bz2 | |
Wait for documentReady() when whoeing ui components.
Previously, requests (like opening the Vomnibar) would be silently
discarded if they arrive before the document is ready. Here, we queue
them instead.
| -rw-r--r-- | content_scripts/ui_component.coffee | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/content_scripts/ui_component.coffee b/content_scripts/ui_component.coffee index c7038f17..1a7a1634 100644 --- a/content_scripts/ui_component.coffee +++ b/content_scripts/ui_component.coffee @@ -67,12 +67,13 @@ class UIComponent when "hide" then @hide() else @handleMessage event - # Post a message (if provided), then call continuation (if provided). Because the constructor waits for - # documentReady(), @iframePort may not yet be ready. + # Post a message (if provided), then call continuation (if provided). We wait for documentReady() to ensure + # that the @iframePort set (so that we can use @iframePort.use()). postMessage: (message = null, continuation = null) -> - @iframePort?.use (port) => - port.postMessage message if message? - continuation?() + DomUtils.documentReady => + @iframePort.use (port) -> + port.postMessage message if message? + continuation?() activate: (@options = null) -> @postMessage @options, => |
