aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/background
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-03 16:45:14 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-03 16:45:29 +0300
commita78d6cdd04d491fcc773a4530d7887eee2ba4a59 (patch)
tree4784be6bdd47a0da9af535961a90e26e02393ae3 /src/pages/background
parentUpdate README.md (diff)
downloadlibredirect-a78d6cdd04d491fcc773a4530d7887eee2ba4a59.zip
Restructuring and simplifying code #229
Diffstat (limited to 'src/pages/background')
-rw-r--r--src/pages/background/background.js29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 88e64890..ae5f9f95 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -22,14 +22,25 @@ import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js
window.browser = window.browser || window.chrome;
+
+
browser.runtime.onInstalled.addListener(async details => {
if (details.reason == 'install') {
+ await instagramHelper.initDefaults();
await redditHelper.initDefaults();
+ await youtubeHelper.initDefaults();
await tiktokHelper.initDefaults();
+ await imgurHelper.initDefaults();
await wholeInit();
+ browser.storage.local.set({ initDefaults: true })
+ initListener();
}
});
+function initListener() {
+ browser.storage.onChanged.addListener(wholeInit);
+}
+
async function wholeInit() {
await youtubeHelper.init();
await youtubeMusicHelper.init();
@@ -51,9 +62,15 @@ async function wholeInit() {
await spotifyHelper.init();
await generalHelper.init();
}
-await wholeInit();
-browser.storage.onChanged.addListener(wholeInit);
+await browser.storage.local.get(
+ 'initDefaults',
+ async r => {
+ if (r.initDefaults == true) {
+ await wholeInit();
+ initListener();
+ }
+ })
let incognitoInit = false;
browser.tabs.onCreated.addListener(
@@ -79,7 +96,7 @@ browser.webRequest.onBeforeRequest.addListener(
else if (details.initiator)
initiator = new URL(details.initiator);
- var newUrl;
+ let newUrl;
if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator)
if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type)
@@ -94,7 +111,7 @@ browser.webRequest.onBeforeRequest.addListener(
if (!newUrl) newUrl = mediumHelper.redirect(url, details.type, initiator);
- if (imgurHelper.isImgur(url, initiator)) newUrl = imgurHelper.redirect(url, details.type);
+ if (!newUrl) newUrl = imgurHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator);
@@ -126,11 +143,11 @@ browser.webRequest.onBeforeRequest.addListener(
if (BYPASSTABs.includes(details.tabId)) newUrl = null;
if (newUrl) {
- if (newUrl == 'CANCEL') {
+ if (newUrl === 'CANCEL') {
console.log(`Canceled ${url}`);
return { cancel: true };
}
- else if (newUrl == 'BYPASSTAB') {
+ else if (newUrl === 'BYPASSTAB') {
console.log(`Bybassed ${details.tabId} ${url}`);
if (!BYPASSTABs.includes(details.tabId)) BYPASSTABs.push(details.tabId);
return null;