aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/hud.coffee11
-rw-r--r--content_scripts/ui_component.coffee3
-rw-r--r--content_scripts/vimium_frontend.coffee3
3 files changed, 7 insertions, 10 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee
index 92de975b..bbf7c5e9 100644
--- a/content_scripts/hud.coffee
+++ b/content_scripts/hud.coffee
@@ -23,13 +23,13 @@ HUD =
@_showForDurationTimerId = setTimeout((=> @hide()), duration)
show: (text) ->
- return unless @enabled()
+ return unless @isReady()
clearTimeout(@_showForDurationTimerId)
@hudUI.show {name: "show", text}
@tween.fade 1.0, 150
showFindMode: (@findMode = null) ->
- return unless @enabled()
+ return unless @isReady()
@hudUI.show {name: "showFindMode", text: ""}
@tween.fade 1.0, 150
@@ -83,12 +83,7 @@ HUD =
@findMode.exit()
postExit?()
- isReady: do ->
- ready = false
- DomUtils.documentReady -> ready = true
- -> ready and document.body != null and @hudUI?
-
- enabled: -> true
+ isReady: -> @hudUI?.uiComponentIsReady
class Tween
opacity: 0
diff --git a/content_scripts/ui_component.coffee b/content_scripts/ui_component.coffee
index 4c9b18e1..92640eb2 100644
--- a/content_scripts/ui_component.coffee
+++ b/content_scripts/ui_component.coffee
@@ -1,4 +1,5 @@
class UIComponent
+ uiComponentIsReady: false
iframeElement: null
iframePort: null
showing: null
@@ -53,6 +54,8 @@ class UIComponent
@postMessage name: "frameFocused", focusFrameId: request.focusFrameId
false # Free up the sendResponse handler.
+ @styleSheetGetter.use => @iframePort.use => Utils.nextTick => @uiComponentIsReady = true
+
# Posts a message (if one is provided), then calls continuation (if provided). The continuation is only
# ever called *after* the message has been posted.
postMessage: (message = null, continuation = null) ->
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index 58cf6115..39e87648 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -138,8 +138,7 @@ installModes = ->
initializeOnEnabledStateKnown = Utils.makeIdempotent ->
installModes()
-initializeUIComponents = ->
- # Both of these are idempotent.
+initializeUIComponents = Utils.makeIdempotent -> DomUtils.documentReady ->
HUD.init()
Vomnibar.init() if DomUtils.isTopFrame()