diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-12 22:28:36 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-12 22:28:36 +0300 |
commit | f2a3e2c608941630fbe1006bc0aee2209b672faf (patch) | |
tree | bccaf0926bef1cd180ee9bf37755aaa21e9e66aa /src/assets | |
parent | Rewrote Exceptions logic and design #29 (diff) | |
download | libredirect-f2a3e2c608941630fbe1006bc0aee2209b672faf.zip |
Added chrome support #18
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/exceptions.js | 10 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/imgur.js | 34 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/instagram.js | 36 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/maps.js | 14 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/medium.js | 33 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/reddit.js | 47 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/search.js | 43 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/tiktok.js | 33 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate.js | 47 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 33 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/wikipedia.js | 32 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 87 |
13 files changed, 276 insertions, 175 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index e6d4895f..07bbccb5 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -1,3 +1,4 @@ +window.browser = window.browser || window.chrome; import twitterHelper from "./twitter.js"; import youtubeHelper from "./youtube/youtube.js"; import instagramHelper from "./instagram.js"; @@ -9,6 +10,7 @@ import wikipediaHelper from "./wikipedia.js"; import mapsHelper from "./maps.js"; import medium from "./medium.js"; + function getRandomInstance(instances) { return instances[~~(instances.length * Math.random())]; } diff --git a/src/assets/javascripts/helpers/exceptions.js b/src/assets/javascripts/helpers/exceptions.js index 9b7f1b59..e799b4b1 100644 --- a/src/assets/javascripts/helpers/exceptions.js +++ b/src/assets/javascripts/helpers/exceptions.js @@ -1,4 +1,6 @@ "use strict"; +window.browser = window.browser || window.chrome; + let exceptions = { "url": [], @@ -12,8 +14,12 @@ function setExceptions(val) { } async function init() { - let result = await browser.storage.sync.get("exceptions"); - if (result.exceptions) exceptions = result.exceptions; + return new Promise((resolve) => { + browser.storage.sync.get("exceptions", (result) => { + if (result.exceptions) exceptions = result.exceptions; + resolve(); + }); + }) } function isException(url) { diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js index 437739df..0629b4da 100644 --- a/src/assets/javascripts/helpers/imgur.js +++ b/src/assets/javascripts/helpers/imgur.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = [ @@ -93,18 +95,26 @@ function isImgur(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableImgur", - "imgurRedirects", - "rimgoRedirectsChecks", - "rimgoCustomRedirects", - ]) - disableImgur = result.disableImgur ?? false; - if (result.imgurRedirects) - redirects = result.imgurRedirects; - - rimgoRedirectsChecks = result.rimgoRedirectsChecks ?? [...redirects.rimgo.normal]; - rimgoCustomRedirects = result.rimgoCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableImgur", + "imgurRedirects", + "rimgoRedirectsChecks", + "rimgoCustomRedirects", + ], + (result) => { + disableImgur = result.disableImgur ?? false; + if (result.imgurRedirects) + redirects = result.imgurRedirects; + + rimgoRedirectsChecks = result.rimgoRedirectsChecks ?? [...redirects.rimgo.normal]; + rimgoCustomRedirects = result.rimgoCustomRedirects ?? []; + + resolve(); + } + ) + }); } export default { diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index 51495dc0..6d57cd59 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -1,3 +1,4 @@ +window.browser = window.browser || window.chrome; import commonHelper from './common.js' const targets = [ @@ -118,19 +119,28 @@ function isInstagram(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableInstagram", - "instagramRedirects", - "bibliogramRedirectsChecks", - "bibliogramCustomRedirects", - ]) - disableInstagram = result.disableInstagram ?? false; - if (result.instagramRedirects) - redirects = result.instagramRedirects - - - bibliogramRedirectsChecks = result.bibliogramRedirectsChecks ?? [...redirects.bibliogram.normal]; - bibliogramCustomRedirects = result.bibliogramCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableInstagram", + "instagramRedirects", + "bibliogramRedirectsChecks", + "bibliogramCustomRedirects", + ], + (result) => { + disableInstagram = result.disableInstagram ?? false; + + if (result.instagramRedirects) redirects = result.instagramRedirects + + bibliogramRedirectsChecks = result.bibliogramRedirectsChecks ?? [...redirects.bibliogram.normal]; + + bibliogramCustomRedirects = result.bibliogramCustomRedirects ?? []; + + resolve(); + } + ) + }) + } export default { diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js index cee15557..9b36661a 100644 --- a/src/assets/javascripts/helpers/maps.js +++ b/src/assets/javascripts/helpers/maps.js @@ -1,3 +1,4 @@ +window.browser = window.browser || window.chrome; import commonHelper from './common.js' const targets = /https?:\/\/(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/; @@ -134,10 +135,15 @@ function isMaps(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableMaps", - ]) - disableMaps = result.disableMaps ?? false; + return new Promise((resolve) => { + browser.storage.sync.get( + "disableMaps", + (result) => { + disableMaps = result.disableMaps ?? false + resolve(); + } + ); + }); } export default { diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 60aa6b61..832b2bad 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -1,3 +1,4 @@ +window.browser = window.browser || window.chrome; import commonHelper from './common.js' @@ -100,18 +101,26 @@ function isMedium(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableMedium", - "mediumRedirects", - "scribeRedirectsChecks", - "scribeCustomRedirects", - ]) - disableMedium = result.disableMedium ?? false; - if (result.mediumRedirects) - redirects = result.mediumRedirects; - - scribeRedirectsChecks = result.scribeRedirectsChecks ?? [...redirects.scribe.normal]; - scribeCustomRedirects = result.scribeCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableMedium", + "mediumRedirects", + "scribeRedirectsChecks", + "scribeCustomRedirects", + ], + (result) => { + disableMedium = result.disableMedium ?? false; + if (result.mediumRedirects) + redirects = result.mediumRedirects; + + scribeRedirectsChecks = result.scribeRedirectsChecks ?? [...redirects.scribe.normal]; + scribeCustomRedirects = result.scribeCustomRedirects ?? []; + resolve(); + } + ) + }) + } export default { diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 740bb998..8e85ec7f 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = [ @@ -192,25 +194,32 @@ function isReddit(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableReddit", - "redditFrontend", - "redditRedirects", - "libredditRedirectsChecks", - "libredditCustomRedirects", - "tedditRedirectsChecks", - "tedditCustomRedirects", - ]) - disableReddit = result.disableReddit ?? false; - redditFrontend = result.redditFrontend ?? 'libreddit'; - if (result.redditRedirects) - redirects = result.redditRedirects; - - libredditRedirectsChecks = result.libredditRedirectsChecks ?? [...redirects.libreddit.normal]; - libredditCustomRedirects = result.libredditCustomRedirects ?? []; - - tedditRedirectsChecks = result.tedditRedirectsChecks ?? [...redirects.teddit.normal]; - tedditCustomRedirects = result.tedditCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableReddit", + "redditFrontend", + "redditRedirects", + "libredditRedirectsChecks", + "libredditCustomRedirects", + "tedditRedirectsChecks", + "tedditCustomRedirects", + ], (result) => { + disableReddit = result.disableReddit ?? false; + redditFrontend = result.redditFrontend ?? 'libreddit'; + if (result.redditRedirects) + redirects = result.redditRedirects; + + libredditRedirectsChecks = result.libredditRedirectsChecks ?? [...redirects.libreddit.normal]; + libredditCustomRedirects = result.libredditCustomRedirects ?? []; + + tedditRedirectsChecks = result.tedditRedirectsChecks ?? [...redirects.teddit.normal]; + tedditCustomRedirects = result.tedditCustomRedirects ?? []; + + resolve(); + } + ) + }) } export default { diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index ed1063c7..ceefc78b 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = [ @@ -250,28 +252,33 @@ function isSearch(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableSearch", - "searchFrontend", - "searchRedirects", - "whoogleRedirectsChecks", - "whoogleCustomRedirects", - "searxRedirectsChecks", - "searxCustomRedirects", - ]) - disableSearch = result.disableSearch ?? false; - searchFrontend = result.searchFrontend ?? 'searx'; - if (result.searchRedirects) - redirects = result.searchRedirects; - + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableSearch", + "searchFrontend", + "searchRedirects", + "whoogleRedirectsChecks", + "whoogleCustomRedirects", + "searxRedirectsChecks", + "searxCustomRedirects", + ], + (result) => { + disableSearch = result.disableSearch ?? false; + searchFrontend = result.searchFrontend ?? 'searx'; + if (result.searchRedirects) redirects = result.searchRedirects; - whoogleRedirectsChecks = result.whoogleRedirectsChecks ?? [...redirects.whoogle.normal]; - whoogleCustomRedirects = result.whoogleCustomRedirects ?? []; + whoogleRedirectsChecks = result.whoogleRedirectsChecks ?? [...redirects.whoogle.normal]; + whoogleCustomRedirects = result.whoogleCustomRedirects ?? []; - searxRedirectsChecks = result.searxRedirectsChecks ?? [...redirects.searx.normal]; + searxRedirectsChecks = result.searxRedirectsChecks ?? [...redirects.searx.normal]; + searxCustomRedirects = result.searxCustomRedirects ?? []; - searxCustomRedirects = result.searxCustomRedirects ?? []; + resolve(); + } + ); + }); } export default { diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js index 5022db89..b50a654f 100644 --- a/src/assets/javascripts/helpers/tiktok.js +++ b/src/assets/javascripts/helpers/tiktok.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = [ @@ -80,18 +82,25 @@ function isTiktok(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableTiktok", - "tiktokRedirects", - "proxiTokRedirectsChecks", - "proxiTokCustomRedirects", - ]) - disableTiktok = result.disableTiktok ?? false; - if (result.tiktokRedirects) - redirects = result.tiktokRedirects; - - proxiTokRedirectsChecks = result.proxiTokRedirectsChecks ?? [...redirects.proxiTok.normal]; - proxiTokCustomRedirects = result.proxiTokCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableTiktok", + "tiktokRedirects", + "proxiTokRedirectsChecks", + "proxiTokCustomRedirects", + ], + (result) => { + disableTiktok = result.disableTiktok ?? false; + if (result.tiktokRedirects) redirects = result.tiktokRedirects; + + proxiTokRedirectsChecks = result.proxiTokRedirectsChecks ?? [...redirects.proxiTok.normal]; + proxiTokCustomRedirects = result.proxiTokCustomRedirects ?? []; + + resolve(); + } + ) + }) } export default { diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js index 074e0a64..de76fe89 100644 --- a/src/assets/javascripts/helpers/translate.js +++ b/src/assets/javascripts/helpers/translate.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = [ @@ -161,25 +163,32 @@ function isTranslate(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableTranslate", - "translateFrontend", - "translateRedirects", - "simplyTranslateRedirectsChecks", - "simplyTranslateCustomRedirects", - "lingvaRedirectsChecks", - "lingvaCustomRedirects", - ]); - disableTranslate = result.disableTranslate ?? false; - translateFrontend = result.translateFrontend ?? "simplyTranslate"; - if (result.translateRedirects) - redirects = result.translateRedirects - - simplyTranslateRedirectsChecks = result.simplyTranslateRedirectsChecks ?? [...redirects.simplyTranslate.normal]; - simplyTranslateCustomRedirects = result.simplyTranslateCustomRedirects ?? []; - - lingvaRedirectsChecks = result.lingvaRedirectsChecks ?? [...redirects.lingva.normal]; - lingvaCustomRedirects = result.lingvaCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableTranslate", + "translateFrontend", + "translateRedirects", + "simplyTranslateRedirectsChecks", + "simplyTranslateCustomRedirects", + "lingvaRedirectsChecks", + "lingvaCustomRedirects", + ], (result) => { + disableTranslate = result.disableTranslate ?? false; + translateFrontend = result.translateFrontend ?? "simplyTranslate"; + if (result.translateRedirects) + redirects = result.translateRedirects + + simplyTranslateRedirectsChecks = result.simplyTranslateRedirectsChecks ?? [...redirects.simplyTranslate.normal]; + simplyTranslateCustomRedirects = result.simplyTranslateCustomRedirects ?? []; + + lingvaRedirectsChecks = result.lingvaRedirectsChecks ?? [...redirects.lingva.normal]; + lingvaCustomRedirects = result.lingvaCustomRedirects ?? []; + + resolve(); + }); + }); + } export default { diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 782c41a6..e93944e9 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' /* @@ -157,18 +159,25 @@ function isTwitter(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableTwitter", - "twitterRedirects", - "nitterRedirectsChecks", - "nitterCustomRedirects", - ]); - disableTwitter = result.disableTwitter ?? false; - if (result.twitterRedirects) - redirects = result.twitterRedirects; - - nitterRedirectsChecks = result.nitterRedirectsChecks ?? [...redirects.nitter.normal]; - nitterCustomRedirects = result.nitterCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableTwitter", + "twitterRedirects", + "nitterRedirectsChecks", + "nitterCustomRedirects", + ], + (result) => { + disableTwitter = result.disableTwitter ?? false; + if (result.twitterRedirects) + redirects = result.twitterRedirects; + + nitterRedirectsChecks = result.nitterRedirectsChecks ?? [...redirects.nitter.normal]; + nitterCustomRedirects = result.nitterCustomRedirects ?? []; + resolve(); + } + ); + }) } export default { diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index 62a09e14..0c480b31 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -1,3 +1,5 @@ +window.browser = window.browser || window.chrome; + import commonHelper from './common.js' const targets = /wikipedia.org/; @@ -106,18 +108,24 @@ function isWikipedia(url) { } async function init() { - let result = await browser.storage.sync.get([ - "disableWikipedia", - "wikipediaRedirects", - "wikilessRedirectsChecks", - "wikilessCustomRedirects", - ]); - disableWikipedia = result.disableWikipedia ?? false; - if (result.wikipediaRedirects) - redirects = result.wikipediaRedirects; - - wikilessRedirectsChecks = result.wikilessRedirectsChecks ?? [...redirects.wikiless.normal]; - wikilessCustomRedirects = result.wikilessCustomRedirects ?? []; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "disableWikipedia", + "wikipediaRedirects", + "wikilessRedirectsChecks", + "wikilessCustomRedirects", + ], (result) => { + disableWikipedia = result.disableWikipedia ?? false; + if (result.wikipediaRedirects) redirects = result.wikipediaRedirects; + + wikilessRedirectsChecks = result.wikilessRedirectsChecks ?? [...redirects.wikiless.normal]; + wikilessCustomRedirects = result.wikilessCustomRedirects ?? []; + + resolve(); + } + ); + }); } export default { diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index b8665dff..e3ba0f36 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -210,46 +210,53 @@ function isYoutube(url) { } async function init() { - let result = await browser.storage.sync.get( - [ - "invidiousAlwaysProxy", - "invidiousVideoQuality", - "invidiousTheme", - "persistInvidiousPrefs", - "disableYoutube", - "invidiousOnlyEmbeddedVideo", - "invidiousVolume", - "invidiousPlayerStyle", - "invidiousSubtitles", - "invidiousAutoplay", - "youtubeRedirects", - "youtubeFrontend", - "invidiousRedirectsChecks", - "invidiousCustomRedirects", - "pipedRedirectsChecks", - "pipedCustomRedirects", - ]); - if (result.youtubeRedirects) redirects = result.youtubeRedirects; - - frontend = result.youtubeFrontend ?? 'piped'; - disableYoutube = result.disableYoutube ?? false; - - invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT'; - invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false; - invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT'; - invidiousTheme = result.invidiousTheme ?? 'DEFAULT'; - invidiousVolume = result.invidiousVolume ?? '--'; - invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT'; - invidiousSubtitles = result.invidiousSubtitles || ''; - invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT'; - - invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal]; - invidiousCustomRedirects = result.invidiousCustomRedirects ?? []; - - pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.piped.normal]; - pipedCustomRedirects = result.pipedCustomRedirects ?? []; - - persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; + return new Promise((resolve) => { + browser.storage.sync.get( + [ + "invidiousAlwaysProxy", + "invidiousVideoQuality", + "invidiousTheme", + "persistInvidiousPrefs", + "disableYoutube", + "invidiousOnlyEmbeddedVideo", + "invidiousVolume", + "invidiousPlayerStyle", + "invidiousSubtitles", + "invidiousAutoplay", + "youtubeRedirects", + "youtubeFrontend", + "invidiousRedirectsChecks", + "invidiousCustomRedirects", + "pipedRedirectsChecks", + "pipedCustomRedirects", + ], + (result) => { + if (result.youtubeRedirects) redirects = result.youtubeRedirects; + + frontend = result.youtubeFrontend ?? 'piped'; + disableYoutube = result.disableYoutube ?? false; + + invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT'; + invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false; + invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT'; + invidiousTheme = result.invidiousTheme ?? 'DEFAULT'; + invidiousVolume = result.invidiousVolume ?? '--'; + invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT'; + invidiousSubtitles = result.invidiousSubtitles || ''; + invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT'; + + invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal]; + invidiousCustomRedirects = result.invidiousCustomRedirects ?? []; + + pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.piped.normal]; + pipedCustomRedirects = result.pipedCustomRedirects ?? []; + + persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; + + resolve(); + }); + + }) } function invidiousInitCookies(tabId) { |