summaryrefslogtreecommitdiff
path: root/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib
diff options
context:
space:
mode:
authorRuben Rodriguez <ruben@gnu.org>2015-07-13 22:54:20 -0500
committerRuben Rodriguez <ruben@gnu.org>2015-07-13 22:54:20 -0500
commit3d2f2cbc6f20a5bb9cb2eba3dfccb6b4986a0d04 (patch)
tree01353611f4f1d5f7c1c68e5722c4d6a2314cb600 /data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib
parent240c29c1d9cf6a2adfad8692917d60cde071cce3 (diff)
HTML5 Video Everywhere updated to 0.2.38.1
Diffstat (limited to 'data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib')
-rw-r--r--data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/facebook.js2
-rw-r--r--data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/flashgot-YouTube.js5
-rw-r--r--data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/main.js48
3 files changed, 38 insertions, 17 deletions
diff --git a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/facebook.js b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/facebook.js
index d252044..1198b28 100644
--- a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/facebook.js
+++ b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/facebook.js
@@ -1,5 +1,5 @@
"use strict";
-var match = [/https?:\/\/(www\.|beta\.)?facebook.com\/video.php\?.*/];
+var match = [/https?:\/\/(www\.|beta\.)?facebook.com\/(.*\/videos\/.*|video.php\?.*)/];
var inject = [
"facebook.js"
];
diff --git a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/flashgot-YouTube.js b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/flashgot-YouTube.js
index 9e9e1da..3507fb8 100644
--- a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/flashgot-YouTube.js
+++ b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/flashgot-YouTube.js
@@ -15,11 +15,12 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
***** END LICENSE BLOCK *****/
/* Modified By Moez Bouhlel to be used on HTML5-Video-EveryWhere */
/* jshint laxbreak:true, maxstatements:false, evil:true, latedef:false */
+/* jshint maxdepth:4 */
/* jshint maxcomplexity:false, -W116 */
/* global args:false */
"use strict";
@@ -491,6 +492,8 @@ Youtube.fix_signature = function(data, fmts, swf_url, cb) {
if (sig) {
fg.log("Fmt", itag, "url fixed:", sig);
fmts[itag].url += "&signature=" + encodeURIComponent(sig);
+ if(!sig.match(/^[0-9A-Z]{40}\.[0-9A-Z]{40}$/))
+ fg.setPref("media.YouTube.decode_signature_func", "");
} else {
fg.log("Failed to fix fmt", itag, "signature");
delete fmts[itag];
diff --git a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/main.js b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/main.js
index bcf9685..d416289 100644
--- a/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/main.js
+++ b/data/extensions/html5-video-everywhere@lejenome.me/resources/html5-video-everywhere/lib/main.js
@@ -6,7 +6,7 @@ const {
const {
add, remove
} = require("sdk/util/array");
-const data = require("sdk/self").data;
+const _self = require("sdk/self");
const pageMod = require("sdk/page-mod");
const events = require("sdk/system/events");
const staticArgs = require("sdk/system").staticArgs;
@@ -24,11 +24,17 @@ const allDrivers = {
"metacafe": require("./metacafe"),
"youtube": require("./youtube")
};
-var disabledDrivers = prefs.disable.split(",").map(i => i.trim());
const drivers = (Array.isArray(staticArgs.drivers) ?
staticArgs.drivers :
- Object.keys(allDrivers)).filter(i =>
- disabledDrivers.indexOf(i) === -1
+ 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
);
@@ -40,16 +46,16 @@ const onWorkerAttach = (drvName, listen) => (worker) => {
_prefs[pref] = prefs[pref];
_prefs.driver = drvName;
_prefs.production = staticArgs.production;
+ _prefs.addon = {
+ id: _self.id,
+ version: _self.version
+ };
worker.port.emit("preferences", _prefs);
add(workers, worker);
worker.port.on("prefChang", (pref) =>
prefs[pref.name] = pref.val);
- worker.port.on("disable", () => {
- disabledDrivers.push(drvName);
- prefs.disable = disabledDrivers.join(",");
- remove(drivers, drvName);
- pageMods[drvName].destroy();
- });
+ worker.port.on("disable", () =>
+ prefs["disable" + drvName] = true);
for (let evt in listen) {
logify("Add listener:", evt);
worker.port.on(evt, (obj) => {
@@ -61,15 +67,18 @@ const onWorkerAttach = (drvName, listen) => (worker) => {
});
};
-for (let drvName of drivers) {
+
+drivers.forEach(setupDriver);
+
+function setupDriver(drvName) {
var driver = allDrivers[drvName];
if (driver.match === void(0))
- continue;
+ return;
var scripts, styles;
scripts = common.inject.concat(driver.inject)
- .map(i => data.url(i));
+ .map(i => _self.data.url(i));
styles = common.style.concat(driver.style || [])
- .map(i => data.url(i));
+ .map(i => _self.data.url(i));
pageMods[drvName] = pageMod.PageMod({
include: driver.match,
contentScriptFile: scripts,
@@ -110,7 +119,16 @@ require("sdk/simple-prefs").on("", function prefChangeHandler(pref) {
prefs.volume = 100;
else if (pref === "volume" && prefs.volume < 0)
prefs.volume = 0;
- else
+ else if (pref.startsWith("disable")) {
+ let drvName = /^disable(.+)/.exec(pref)[1];
+ if (prefs[pref] === false) {
+ add(drivers, drvName);
+ setupDriver(drvName);
+ } else {
+ remove(drivers, drvName);
+ pageMods[drvName].destroy();
+ }
+ } else
workersPrefHandler(pref);
});