aboutsummaryrefslogtreecommitdiffstats
path: root/pages/content_script_loader.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'pages/content_script_loader.coffee')
-rw-r--r--pages/content_script_loader.coffee28
1 files changed, 28 insertions, 0 deletions
diff --git a/pages/content_script_loader.coffee b/pages/content_script_loader.coffee
new file mode 100644
index 00000000..5058bb7b
--- /dev/null
+++ b/pages/content_script_loader.coffee
@@ -0,0 +1,28 @@
+injectContentScripts = ->
+ manifest = chrome.runtime.getManifest()
+ content_scripts = manifest.content_scripts
+
+ insertLocation = document.head.firstChild
+
+ for scriptInfo in content_scripts
+ continue if scriptInfo.matches.indexOf("<all_urls>") == -1
+
+ if scriptInfo.js
+ for script in scriptInfo.js
+ scriptElement = document.createElement "script"
+ scriptElement.type = "text/javascript"
+ scriptElement.async = false # Don't load out of order!
+ scriptElement.src = chrome.runtime.getURL script
+
+ insertLocation.parentElement.insertBefore scriptElement, insertLocation
+
+ if scriptInfo.css
+ for style in scriptInfo.css
+ styleElement = document.createElement "link"
+ styleElement.rel = "stylesheet"
+ styleElement.type = "text/css"
+ styleElement.href = chrome.runtime.getURL style
+
+ insertLocation.parentElement.insertBefore styleElement, insertLocation
+
+injectContentScripts()