summaryrefslogtreecommitdiff
path: root/data/extensions/html5-video-everywhere@lejenome.me/data/common.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/html5-video-everywhere@lejenome.me/data/common.js')
-rw-r--r--data/extensions/html5-video-everywhere@lejenome.me/data/common.js109
1 files changed, 0 insertions, 109 deletions
diff --git a/data/extensions/html5-video-everywhere@lejenome.me/data/common.js b/data/extensions/html5-video-everywhere@lejenome.me/data/common.js
deleted file mode 100644
index 4686831..0000000
--- a/data/extensions/html5-video-everywhere@lejenome.me/data/common.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/* global OPTIONS:true, onPrefChange:true, LANGS:true */
-/* global createNode:true, asyncGet:true, onReady:true, logify:true */
-/* global preLoad:true, autoPlay:true, HANDLE_VOL_PREF_CHANGE:true */
-/* global rmChildren:true, Qlt:true, Cdc:true, chgPref:true, isLoop:true */
-/* global setClipboard:true */
-// the following jshint global rule is only because jshint support for ES6 arrow
-// functions is limited
-/* global wrapper:true, args:true, auto:true, lp:true */
-"use strict";
-
-//This Addons Preferences
-var OPTIONS, init;
-// push your prefernces change listner function to this table, yah the old way
-const onPrefChange = [];
-const Cdc = ["webm", "mp4"];
-const Qlt = ["higher", "high", "medium", "low"];
-const LANGS = ["af", "ar", "bn", "de", "en", "es", "fi", "fr", "hi", "id", "is", "it", "ja", "ko", "pt", "ru", "tu", "zh"];
-// set it to false if the module uses custom listener
-var HANDLE_VOL_PREF_CHANGE = true;
-self.port.on("preferences", function(prefs) {
- OPTIONS = prefs;
- if (init)
- init();
- onPrefChange.forEach(f => f());
-});
-
-self.port.on("prefChanged", function(pref) {
- OPTIONS[pref.name] = pref.value;
- if (pref.name === "volume" && HANDLE_VOL_PREF_CHANGE === true)
- Array.forEach(document.getElementsByTagName("video"), el => {
- el.volume = OPTIONS.volume / 100;
- });
- onPrefChange.forEach(f => f(pref.name));
-});
-const chgPref = (name, val) => {
- self.port.emit("prefChang", {
- name: name,
- val: val
- });
-};
-const setClipboard = (text) =>
- self.port.emit("setClipboard", text);
-const createNode = (type, prprt, style, data) => {
- //logify("createNode", type, prprt);
- var node = document.createElement(type);
- if (prprt)
- Object.keys(prprt).forEach(p => node[p] = prprt[p]);
- if (style)
- Object.keys(style).forEach(s => node.style[s] = style[s]);
- if (data)
- Object.keys(data).forEach(d => node.dataset[d] = data[d]);
- return node;
-};
-
-const asyncGet = (url, headers, mimetype) => {
- logify("asyncGet", url);
- return new Promise(function(resolve, reject) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, true);
- if (headers)
- Object.keys(headers).forEach(h => xhr.setRequestHeader(h, headers[h]));
- if (mimetype && xhr.overrideMimeType)
- xhr.overrideMimeType(mimetype);
- xhr.onload = function() {
- if (this.status !== 200) {
- reject(this.status);
- logify("Error on asyncGet", url, headers, this.status);
- return;
- }
- resolve(this.responseText);
- };
- xhr.onerror = function() {
- reject();
- };
- xhr.send();
- });
-};
-
-const logify = (...args) => {
- args = args.map(s => JSON.stringify(s, null, 2));
- args.unshift("[DRIVER]");
- dump(args.join(" ") + "\n");
-};
-
-const onReady = f => {
- if (document.readyState !== "loading") {
- if (OPTIONS)
- f();
- else
- init = f;
- } else {
- document.addEventListener("DOMContentLoaded", () => {
- if (OPTIONS)
- f();
- else
- init = f;
- });
- }
-};
-const autoPlay = (auto = false) => ((OPTIONS.autoplay === 1 || auto === true) &&
- OPTIONS.autoplay !== 0);
-const preLoad = (auto = false) => ((OPTIONS.preload === 1 || auto === true) &&
- OPTIONS.preload !== 0) ? "auto" : "metadata";
-const isLoop = (lp = false) => ((OPTIONS.loop === 1 || lp) && OPTIONS.loop !== 0);
-
-const rmChildren = (prnt) => {
- while (prnt && prnt.firstChild)
- prnt.removeChild(prnt.firstChild);
-}; \ No newline at end of file