diff options
| author | Stephen Blott | 2017-09-30 07:22:22 +0100 | 
|---|---|---|
| committer | GitHub | 2017-09-30 07:22:22 +0100 | 
| commit | 0d059c1ac60798598ad6608eca38f6008cc50f53 (patch) | |
| tree | 0194f5c9869e991777f38fe2345285918f9e0a5c | |
| parent | 245fd88b58297733765571b4db37ff958f7a32c2 (diff) | |
| parent | 55fde386c99bae9748212ef66fd57929ffd316a5 (diff) | |
| download | vimium-0d059c1ac60798598ad6608eca38f6008cc50f53.tar.bz2 | |
Merge pull request #2683 from mrmr1993/inject-css-for-frames
Inject user css into all frames
| -rw-r--r-- | background_scripts/main.coffee | 5 | ||||
| -rw-r--r-- | lib/dom_utils.coffee | 8 | ||||
| -rw-r--r-- | pages/help_dialog.coffee | 3 | ||||
| -rw-r--r-- | pages/hud.coffee | 3 | ||||
| -rw-r--r-- | pages/logging.coffee | 1 | ||||
| -rw-r--r-- | pages/options.coffee | 1 | ||||
| -rw-r--r-- | pages/vomnibar.coffee | 3 | ||||
| -rw-r--r-- | tests/unit_tests/test_chrome_stubs.coffee | 2 | 
8 files changed, 23 insertions, 3 deletions
| diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index 10d383f9..97d8fa65 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -262,10 +262,9 @@ selectTab = (direction, {count, tab}) ->              Math.max 0, tabs.length - count        chrome.tabs.update tabs[toSelect].id, active: true -chrome.tabs.onUpdated.addListener (tabId, changeInfo, tab) -> -  return unless changeInfo.status == "loading" # Only do this once per URL change. +chrome.webNavigation.onCommitted.addListener ({tabId, frameId}) ->    cssConf = -    allFrames: true +    frameId: frameId      code: Settings.get("userDefinedLinkHintCss")      runAt: "document_start"    chrome.tabs.insertCSS tabId, cssConf, -> chrome.runtime.lastError diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee index c2d83b1d..ff5991dc 100644 --- a/lib/dom_utils.coffee +++ b/lib/dom_utils.coffee @@ -408,5 +408,13 @@ DomUtils =    windowIsTooSmall: ->      return window.innerWidth < 3 or window.innerHeight < 3 +  # Inject user styles manually. This is only necessary for our chrome-extension:// pages and frames. +  injectUserCss: -> +    Settings.onLoaded -> +      style = document.createElement "style" +      style.type = "text/css" +      style.textContent = Settings.get "userDefinedLinkHintCss" +      document.head.appendChild style +  root = exports ? window  root.DomUtils = DomUtils diff --git a/pages/help_dialog.coffee b/pages/help_dialog.coffee index a0ad1af8..f36155e4 100644 --- a/pages/help_dialog.coffee +++ b/pages/help_dialog.coffee @@ -131,6 +131,9 @@ UIComponentServer.registerHandler (event) ->        # Abandon any HUD which might be showing within the help dialog.        HUD.abandon() +document.addEventListener "DOMContentLoaded", -> +  DomUtils.injectUserCss() # Manually inject custom user styles. +  root = exports ? window  root.HelpDialog = HelpDialog  root.isVimiumHelpDialog = true diff --git a/pages/hud.coffee b/pages/hud.coffee index ac7059ec..0d2ec2f7 100644 --- a/pages/hud.coffee +++ b/pages/hud.coffee @@ -12,6 +12,9 @@ setTextInInputElement = (inputElement, text) ->    selection.removeAllRanges()    selection.addRange range +document.addEventListener "DOMContentLoaded", -> +  DomUtils.injectUserCss() # Manually inject custom user styles. +  document.addEventListener "keydown", (event) ->    inputElement = document.getElementById "hud-find-input"    return unless inputElement? # Don't do anything if we're not in find mode. diff --git a/pages/logging.coffee b/pages/logging.coffee index 3ccef4ff..a437b442 100644 --- a/pages/logging.coffee +++ b/pages/logging.coffee @@ -1,6 +1,7 @@  $ = (id) -> document.getElementById id  document.addEventListener "DOMContentLoaded", -> +  DomUtils.injectUserCss() # Manually inject custom user styles.    $("vimiumVersion").innerText = Utils.getCurrentVersion()    chrome.storage.local.get "installDate", (items) -> diff --git a/pages/options.coffee b/pages/options.coffee index 19330271..035dd403 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -311,6 +311,7 @@ initPopupPage = ->  #  # Initialization.  document.addEventListener "DOMContentLoaded", -> +  DomUtils.injectUserCss() # Manually inject custom user styles.    xhr = new XMLHttpRequest()    xhr.open 'GET', chrome.extension.getURL('pages/exclusions.html'), true    xhr.onreadystatechange = -> diff --git a/pages/vomnibar.coffee b/pages/vomnibar.coffee index 071604b7..8c790ca8 100644 --- a/pages/vomnibar.coffee +++ b/pages/vomnibar.coffee @@ -335,5 +335,8 @@ UIComponentServer.registerHandler (event) ->      when "hidden" then Vomnibar.onHidden()      when "activate" then Vomnibar.activate event.data +document.addEventListener "DOMContentLoaded", -> +  DomUtils.injectUserCss() # Manually inject custom user styles. +  root = exports ? window  root.Vomnibar = Vomnibar diff --git a/tests/unit_tests/test_chrome_stubs.coffee b/tests/unit_tests/test_chrome_stubs.coffee index 53ca805d..44ec4f66 100644 --- a/tests/unit_tests/test_chrome_stubs.coffee +++ b/tests/unit_tests/test_chrome_stubs.coffee @@ -60,6 +60,8 @@ exports.chrome =        addListener: () ->      onReferenceFragmentUpdated:        addListener: () -> +    onCommitted: +      addListener: () ->    windows:      onRemoved: | 
