diff options
Diffstat (limited to 'content_scripts/ui_component.coffee')
| -rw-r--r-- | content_scripts/ui_component.coffee | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/content_scripts/ui_component.coffee b/content_scripts/ui_component.coffee index ba141b23..e4cfc293 100644 --- a/content_scripts/ui_component.coffee +++ b/content_scripts/ui_component.coffee @@ -7,6 +7,18 @@ class UIComponent    constructor: (iframeUrl, className, @handleMessage) ->      styleSheet = document.createElement "style" + +    unless styleSheet.style +      # If this is an XML document, nothing we do here works: +      # * <style> elements show their contents inline, +      # * <iframe> elements don't load any content, +      # * document.createElement generates elements that have style == null and ignore CSS. +      # If this is the case we don't want to pollute the DOM to no or negative effect.  So we bail +      # immediately, and disable all externally-called methods. +      @postMessage = @activate = @show = @hide = -> +        console.log "This vimium feature is disabled because it is incompatible with this page." +      return +      styleSheet.type = "text/css"      # Default to everything hidden while the stylesheet loads.      styleSheet.innerHTML = "@import url(\"#{chrome.runtime.getURL("content_scripts/vimium.css")}\");" | 
