summaryrefslogtreecommitdiff
path: root/data/extensions/html5-video-everywhere@lejenome.me/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/html5-video-everywhere@lejenome.me/index.js')
-rw-r--r--data/extensions/html5-video-everywhere@lejenome.me/index.js36
1 files changed, 14 insertions, 22 deletions
diff --git a/data/extensions/html5-video-everywhere@lejenome.me/index.js b/data/extensions/html5-video-everywhere@lejenome.me/index.js
index fca20cf..419ca33 100644
--- a/data/extensions/html5-video-everywhere@lejenome.me/index.js
+++ b/data/extensions/html5-video-everywhere@lejenome.me/index.js
@@ -16,25 +16,14 @@ var prefs = require("sdk/simple-prefs").prefs;
const workers = [];
const pageMods = {};
const common = require("./lib/common");
-const allDrivers = {
- "facebook": require("./lib/facebook"),
- "vimeo": require("./lib/vimeo"),
- "dailymotion": require("./lib/dailymotion"),
- "break": require("./lib/break"),
- "metacafe": require("./lib/metacafe"),
- "youtube": require("./lib/youtube")
-};
+const _package = JSON.parse(_self.data.load("../package.json"));
+const allDrivers = {};
+const externURL = _self.data.url().slice(0, -5) + "node_modules/";
+// then extern drivers
+Object.keys(_package.sites).forEach((d) =>
+ allDrivers[d] = require(_package.sites[d]));
const drivers = Object.keys(allDrivers).filter(drvName =>
- prefs["disable" + drvName] === false
-);
-
-//ensure preferences match the state of disabled drivers
-Object.keys(allDrivers).filter(drvName =>
- drivers.indexOf(drvName) === -1
-).forEach(drvName =>
- prefs["disable" + drvName] = true
-);
-
+ prefs["disable" + drvName] === false);
const onWorkerAttach = (drvName, listen) => (worker) => {
logify("onAttach", worker);
@@ -70,12 +59,15 @@ drivers.forEach(setupDriver);
function setupDriver(drvName) {
var driver = allDrivers[drvName];
+ var drvPath = externURL + _package.sites[drvName] + "/";
+ var scripts, styles;
if (driver.match === void(0))
return;
- var scripts, styles;
- scripts = common.inject.concat(driver.inject)
+ scripts = common.inject
+ .concat((driver.inject || []).map(u => drvPath + u))
.map(i => _self.data.url(i));
- styles = common.style.concat(driver.style || [])
+ styles = common.style
+ .concat((driver.style || []).map(u => drvPath + u))
.map(i => _self.data.url(i));
pageMods[drvName] = pageMod.PageMod({
include: driver.match,
@@ -146,6 +138,6 @@ function logify(...args) {
exports.main = () => {
events.on("http-on-modify-request", listener);
};
-exports.onUnload = function(reason) {
+exports.onUnload = (reason) => {
events.off("http-on-modify-request", listener);
}; \ No newline at end of file