diff options
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 34 | 
1 files changed, 19 insertions, 15 deletions
| diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 11310dcf..26aa3492 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -237,25 +237,29 @@ setScrollPosition = ({ scrollX, scrollY }) ->          Marks.setPreviousPosition()          window.scrollTo scrollX, scrollY -flashFrame = -> -DomUtils.documentReady -> -  # Create a shadow DOM wrapping the frame so the page's styles don't interfere with ours. -  highlightedFrameElement = DomUtils.createElement "div" -  # PhantomJS doesn't support createShadowRoot, so guard against its non-existance. -  _shadowDOM = highlightedFrameElement.createShadowRoot?() ? highlightedFrameElement +flashFrame = do -> +  highlightedFrameElement = null + +  -> +    highlightedFrameElement ?= do -> +      # Create a shadow DOM wrapping the frame so the page's styles don't interfere with ours. +      highlightedFrameElement = DomUtils.createElement "div" +      # PhantomJS doesn't support createShadowRoot, so guard against its non-existance. +      _shadowDOM = highlightedFrameElement.createShadowRoot?() ? highlightedFrameElement + +      # Inject stylesheet. +      _styleSheet = DomUtils.createElement "style" +      _styleSheet.innerHTML = "@import url(\"#{chrome.runtime.getURL("content_scripts/vimium.css")}\");" +      _shadowDOM.appendChild _styleSheet -  # Inject stylesheet. -  _styleSheet = DomUtils.createElement "style" -  _styleSheet.innerHTML = "@import url(\"#{chrome.runtime.getURL("content_scripts/vimium.css")}\");" -  _shadowDOM.appendChild _styleSheet +      _frameEl = DomUtils.createElement "div" +      _frameEl.className = "vimiumReset vimiumHighlightedFrame" +      _shadowDOM.appendChild _frameEl -  _frameEl = DomUtils.createElement "div" -  _frameEl.className = "vimiumReset vimiumHighlightedFrame" -  _shadowDOM.appendChild _frameEl +      highlightedFrameElement -  flashFrame = ->      document.documentElement.appendChild highlightedFrameElement -    setTimeout (-> highlightedFrameElement.remove()), 200 +    Utils.setTimeout 200, -> highlightedFrameElement.remove()  #  # Called from the backend in order to change frame focus. | 
