summaryrefslogtreecommitdiff
path: root/data/extensions/https-everywhere@eff.org/background-scripts/store.js
diff options
context:
space:
mode:
authorClément Lassieur <clement@lassieur.org>2023-11-09 14:15:44 +0100
committerMark H Weaver <mhw@netris.org>2023-12-30 09:24:46 -0500
commitba0d2ab758143b9fe2ca14f6eed07d9a6a350c2b (patch)
tree0ecd8a30389110b49a8a1c1513332dbacfcb46f9 /data/extensions/https-everywhere@eff.org/background-scripts/store.js
parentf889514426e512e5602c71e1b411ae0332a33366 (diff)
Migrate from HTTPS-Everywhere to Icecat's own HTTPS-Only Mode.
See <https://www.eff.org/https-everywhere>. Modified-By: Mark H Weaver <mhw@netris.org>.
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/background-scripts/store.js')
-rw-r--r--data/extensions/https-everywhere@eff.org/background-scripts/store.js143
1 files changed, 0 insertions, 143 deletions
diff --git a/data/extensions/https-everywhere@eff.org/background-scripts/store.js b/data/extensions/https-everywhere@eff.org/background-scripts/store.js
deleted file mode 100644
index e3af7cb..0000000
--- a/data/extensions/https-everywhere@eff.org/background-scripts/store.js
+++ /dev/null
@@ -1,143 +0,0 @@
-"use strict";
-
-(function(exports) {
-
-const rules = require('./rules');
-const util = require("./util");
-
-function initialize() {
- return new Promise(resolve => {
- if (chrome.storage.sync) {
- chrome.storage.sync.set({"sync-set-test": true}, () => {
- if(chrome.runtime.lastError) {
- setStorage(chrome.storage.local);
- } else {
- setStorage(chrome.storage.sync);
- }
- resolve();
- });
- } else {
- setStorage(chrome.storage.local);
- resolve();
- }
- });
-}
-
-/* Storage promise setters and getters */
-
-function generic_get_promise(key, default_val, storage) {
- return new Promise(res => storage.get({[key]: default_val}, data => res(data[key])));
-}
-
-function generic_set_promise(key, value, storage) {
- return new Promise(res => storage.set({[key]: value}, res));
-}
-
-function get_promise(key, default_val) {
- return generic_get_promise(key, default_val, exports);
-}
-
-function set_promise(key, value) {
- return generic_set_promise(key, value, exports);
-}
-
-function local_get_promise(key, default_val) {
- return generic_get_promise(key, default_val, chrome.storage.local);
-}
-
-function local_set_promise(key, value) {
- return generic_set_promise(key, value, chrome.storage.local);
-}
-
-
-
-async function performMigrations() {
- let migration_version = await get_promise('migration_version', 0);
-
- try {
- if (migration_version === 0) {
- let ls = localStorage;
- let ruleActiveStates = {};
-
- for (let key in ls) {
- if (ls.hasOwnProperty(key)) {
- if (rules.RuleSets().USER_RULE_KEY === key) {
- await set_promise(rules.RuleSets().USER_RULE_KEY, JSON.parse(ls[key]));
- } else {
- ruleActiveStates[key] = (ls[key] === "true");
- }
- }
- }
- migration_version = 1;
- await set_promise('migration_version', migration_version);
- await set_promise('ruleActiveStates', ruleActiveStates);
- }
-
- } catch (e) {
- // do nothing
- }
-
- if (migration_version <= 1) {
- await get_promise(rules.RuleSets().USER_RULE_KEY, [])
- .then(userRules => {
- userRules = userRules.map(userRule => {
- return {
- name: userRule.host,
- target: [userRule.host],
- rule: [{ from: userRule.urlMatcher, to: userRule.redirectTo }],
- default_off: "user rule"
- };
- });
- return userRules;
- })
- .then(userRules => {
- return set_promise(rules.RuleSets().USER_RULE_KEY, userRules);
- });
-
- migration_version = 2;
- await set_promise('migration_version', migration_version);
- }
-
- if (migration_version <= 2) {
- await get_promise('disabledList', [])
- .then(disabledList => {
- disabledList = disabledList.map(item => {
- return util.getNormalisedHostname(item);
- });
- return disabledList;
- })
- .then(disabledList => {
- return set_promise('disabledList', disabledList);
- });
-
- migration_version = 3;
- await set_promise('migration_version', migration_version);
- }
-}
-
-const local = {
- get: (...args) => chrome.storage.local.get(...args),
- set: (...args) => chrome.storage.local.set(...args),
- remove: (...args) => chrome.storage.local.remove(...args),
- get_promise: local_get_promise,
- set_promise: local_set_promise
-};
-
-function setStorage(store) {
- Object.assign(exports, {
- get: store.get.bind(store),
- set: store.set.bind(store),
- remove: store.remove.bind(store),
- get_promise,
- set_promise,
- local
- });
- chrome.runtime.sendMessage("store_initialized");
-}
-
-Object.assign(exports, {
- initialize,
- performMigrations
-});
-
-})(typeof exports == 'undefined' ? require.scopes.store = {} : exports);