aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2017-09-30 07:22:22 +0100
committerGitHub2017-09-30 07:22:22 +0100
commit0d059c1ac60798598ad6608eca38f6008cc50f53 (patch)
tree0194f5c9869e991777f38fe2345285918f9e0a5c
parent245fd88b58297733765571b4db37ff958f7a32c2 (diff)
parent55fde386c99bae9748212ef66fd57929ffd316a5 (diff)
downloadvimium-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.coffee5
-rw-r--r--lib/dom_utils.coffee8
-rw-r--r--pages/help_dialog.coffee3
-rw-r--r--pages/hud.coffee3
-rw-r--r--pages/logging.coffee1
-rw-r--r--pages/options.coffee1
-rw-r--r--pages/vomnibar.coffee3
-rw-r--r--tests/unit_tests/test_chrome_stubs.coffee2
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: