diff options
| author | Stephen Blott | 2016-05-07 04:37:36 +0100 |
|---|---|---|
| committer | Stephen Blott | 2016-05-07 04:37:36 +0100 |
| commit | d00cc696c8e43b1b0298bce61fa18e22d78f270d (patch) | |
| tree | 0ca8c762ee6671ed4db43b0b45ba84f8f44e0e56 /content_scripts | |
| parent | 62a3a7bb3568c3312abe693c267093994d143d4a (diff) | |
| parent | f83e99fd42a4cf412c79fb15c58f59c105c25723 (diff) | |
| download | vimium-d00cc696c8e43b1b0298bce61fa18e22d78f270d.tar.bz2 | |
Merge pull request #2118 from smblott-github/fix-ui-component-init-issues
Fix UI-component initialization issues (maybe).
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/hud.coffee | 16 | ||||
| -rw-r--r-- | content_scripts/ui_component.coffee | 7 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 9 | ||||
| -rw-r--r-- | content_scripts/vomnibar.coffee | 8 |
4 files changed, 21 insertions, 19 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee index 0d3a6f95..b2780491 100644 --- a/content_scripts/hud.coffee +++ b/content_scripts/hud.coffee @@ -22,15 +22,17 @@ HUD = @_showForDurationTimerId = setTimeout((=> @hide()), duration) show: (text) -> - @init() - clearTimeout(@_showForDurationTimerId) - @hudUI.activate {name: "show", text} - @tween.fade 1.0, 150 + DomUtils.documentComplete => + @init() + clearTimeout(@_showForDurationTimerId) + @hudUI.activate {name: "show", text} + @tween.fade 1.0, 150 showFindMode: (@findMode = null) -> - @init() - @hudUI.activate name: "showFindMode" - @tween.fade 1.0, 150 + DomUtils.documentComplete => + @init() + @hudUI.activate name: "showFindMode" + @tween.fade 1.0, 150 search: (data) -> @findMode.findInPlace data.query diff --git a/content_scripts/ui_component.coffee b/content_scripts/ui_component.coffee index 59e4fe41..203f0c8c 100644 --- a/content_scripts/ui_component.coffee +++ b/content_scripts/ui_component.coffee @@ -68,10 +68,9 @@ class UIComponent # 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) -> - DomUtils.documentReady => - @iframePort.use (port) -> - port.postMessage message if message? - continuation?() + @iframePort?.use (port) -> + port.postMessage message if message? + continuation?() activate: (@options = null) -> @postMessage @options, => diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 9dd68278..07322250 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -143,7 +143,7 @@ initializeOnEnabledStateKnown = (isEnabledForUrl) -> if isEnabledForUrl # We only initialize (and activate) the Vomnibar in the top frame. Also, we do not initialize the # Vomnibar until we know that Vimium is enabled. Thereafter, there's no more initialization to do. - Vomnibar.init() if DomUtils.isTopFrame() + DomUtils.documentComplete Vomnibar.init.bind Vomnibar if DomUtils.isTopFrame() initializeOnEnabledStateKnown = -> # @@ -637,10 +637,11 @@ window.HelpDialog ?= abort: -> @helpUI.hide false if @isShowing() toggle: (request) -> - @helpUI ?= new UIComponent "pages/help_dialog.html", "vimiumHelpDialogFrame", -> - if @isShowing() + DomUtils.documentComplete => + @helpUI ?= new UIComponent "pages/help_dialog.html", "vimiumHelpDialogFrame", -> + if @helpUI? and @isShowing() @helpUI.hide() - else + else if @helpUI? @helpUI.activate extend request, name: "activate", focus: true diff --git a/content_scripts/vomnibar.coffee b/content_scripts/vomnibar.coffee index cbd2892c..49c4288e 100644 --- a/content_scripts/vomnibar.coffee +++ b/content_scripts/vomnibar.coffee @@ -56,10 +56,10 @@ Vomnibar = # selectFirst - Optional, boolean. Whether to select the first entry. # newTab - Optional, boolean. Whether to open the result in a new tab. open: (sourceFrameId, options) -> - @init() - # The Vomnibar cannot coexist with the help dialog (it causes focus issues). - HelpDialog.abort() - @vomnibarUI.activate extend options, { name: "activate", sourceFrameId, focus: true } + if @vomnibarUI? + # The Vomnibar cannot coexist with the help dialog (it causes focus issues). + HelpDialog.abort() + @vomnibarUI.activate extend options, { name: "activate", sourceFrameId, focus: true } root = exports ? window root.Vomnibar = Vomnibar |
