diff options
Diffstat (limited to 'data/extensions/html5-video-everywhere@lejenome.me/index.js')
-rw-r--r-- | data/extensions/html5-video-everywhere@lejenome.me/index.js | 36 |
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 |