aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js29
-rw-r--r--src/pages/options/imgur/imgur.js84
-rw-r--r--src/pages/options/instagram/instagram.js73
-rw-r--r--src/pages/options/reddit/reddit.js156
-rw-r--r--src/pages/options/youtube/invidious.js166
-rw-r--r--src/pages/options/youtube/piped.js144
-rw-r--r--src/pages/options/youtube/pipedMaterial.js114
-rw-r--r--src/pages/options/youtube/youtube.js62
8 files changed, 365 insertions, 463 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;
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js
index 11ebcebc..8d4428cf 100644
--- a/src/pages/options/imgur/imgur.js
+++ b/src/pages/options/imgur/imgur.js
@@ -2,18 +2,15 @@ import imgurHelper from "../../../assets/javascripts/helpers/imgur.js";
import commonHelper from "../../../assets/javascripts/helpers/common.js";
let disableImgurElement = document.getElementById("disable-imgur");
-disableImgurElement.addEventListener("change",
- (event) => imgurHelper.setDisable(!event.target.checked)
-);
-
let protocolElement = document.getElementById("protocol")
-protocolElement.addEventListener("change",
- event => {
- let protocol = event.target.options[protocolElement.selectedIndex].value
- imgurHelper.setProtocol(protocol);
- changeProtocolSettings(protocol);
- }
-);
+
+document.addEventListener("change", async () => {
+ await browser.storage.local.set({
+ disableImgur: !disableImgurElement.checked,
+ imgurProtocol: protocolElement.value,
+ });
+ init();
+})
function changeProtocolSettings(protocol) {
let normalDiv = document.getElementsByClassName("normal")[0];
@@ -36,50 +33,45 @@ function changeProtocolSettings(protocol) {
}
}
-imgurHelper.init().then(() => {
- disableImgurElement.checked = !imgurHelper.getDisable();
+function init() {
+ imgurHelper.init().then(() => {
+ browser.storage.local.get(
+ [
+ "disableImgur",
+ "imgurProtocol",
+ ],
+ r => {
+ disableImgurElement.checked = !r.disableImgur;
+ protocol.value = r.imgurProtocol;
+ changeProtocolSettings(r.imgurProtocol);
+ }
+ );
- let protocol = imgurHelper.getProtocol();
- console.log('protocol', protocol);
- protocolElement.value = protocol;
- changeProtocolSettings(protocol);
- browser.storage.local.get("rimgoLatency").then(r => {
commonHelper.processDefaultCustomInstances(
'rimgo',
'normal',
imgurHelper,
- document,
- imgurHelper.getRimgoNormalRedirectsChecks,
- imgurHelper.setRimgoNormalRedirectsChecks,
- imgurHelper.getRimgoNormalCustomRedirects,
- imgurHelper.setRimgoNormalCustomRedirects,
- r.rimgoLatency
+ document
);
- });
- commonHelper.processDefaultCustomInstances(
- 'rimgo',
- 'tor',
- imgurHelper,
- document,
- imgurHelper.getRimgoTorRedirectsChecks,
- imgurHelper.setRimgoTorRedirectsChecks,
- imgurHelper.getRimgoTorCustomRedirects,
- imgurHelper.setRimgoTorCustomRedirects
- );
+ commonHelper.processDefaultCustomInstances(
+ 'rimgo',
+ 'tor',
+ imgurHelper,
+ document
+ );
+
+ commonHelper.processDefaultCustomInstances(
+ 'rimgo',
+ 'i2p',
+ imgurHelper,
+ document
+ );
+ });
+}
+init();
- commonHelper.processDefaultCustomInstances(
- 'rimgo',
- 'i2p',
- imgurHelper,
- document,
- imgurHelper.getRimgoI2pRedirectsChecks,
- imgurHelper.setRimgoI2pRedirectsChecks,
- imgurHelper.getRimgoI2pCustomRedirects,
- imgurHelper.setRimgoI2pCustomRedirects
- );
-});
let latencyElement = document.getElementById("latency");
let latencyLabel = document.getElementById("latency-label");
diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js
index 867a5ddc..7dcd5607 100644
--- a/src/pages/options/instagram/instagram.js
+++ b/src/pages/options/instagram/instagram.js
@@ -2,18 +2,15 @@ import instagramHelper from "../../../assets/javascripts/helpers/instagram.js";
import commonHelper from "../../../assets/javascripts/helpers/common.js";
let disableInstagramElement = document.getElementById("disable-bibliogram");
-disableInstagramElement.addEventListener("change",
- (event) => instagramHelper.setDisable(!event.target.checked)
-);
+let protocolElement = document.getElementById("protocol");
-let protocolElement = document.getElementById("protocol")
-protocolElement.addEventListener("change",
- (event) => {
- let protocol = event.target.options[protocolElement.selectedIndex].value
- instagramHelper.setProtocol(protocol);
- changeProtocolSettings(protocol);
- }
-);
+document.addEventListener("change", async () => {
+ await browser.storage.local.set({
+ disableInstagram: disableInstagramElement.checked,
+ instagramProtocol: protocolElement.value,
+ })
+ changeProtocolSettings(protocolElement.value);
+})
function changeProtocolSettings(protocol) {
let normalDiv = document.getElementsByClassName("normal")[0];
@@ -28,41 +25,23 @@ function changeProtocolSettings(protocol) {
}
}
-instagramHelper.init().then(() => {
- disableInstagramElement.checked = !instagramHelper.getDisable();
+browser.storage.local.get(
+ [
+ "disableInstagram",
+ "instagramProtocol"
+ ],
+ r => {
- let protocol = instagramHelper.getProtocol();
- protocolElement.value = protocol;
- changeProtocolSettings(protocol);
+ disableInstagramElement.checked = !r.disableInstagram;
+ let protocol = r.instagramProtocol;
+ protocolElement.value = protocol;
+ changeProtocolSettings(protocol);
- browser.storage.local.get("bibliogramLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'bibliogram',
- 'normal',
- instagramHelper,
- document,
- instagramHelper.getBibliogramNormalRedirectsChecks,
- instagramHelper.setBibliogramNormalRedirectsChecks,
- instagramHelper.getBibliogramNormalCustomRedirects,
- instagramHelper.setBibliogramNormalCustomRedirects,
- r.bibliogramLatency,
- )
+ commonHelper.processDefaultCustomInstances('bibliogram', 'normal', instagramHelper, document)
+ commonHelper.processDefaultCustomInstances('bibliogram', 'tor', instagramHelper, document)
})
- commonHelper.processDefaultCustomInstances(
- 'bibliogram',
- 'tor',
- instagramHelper,
- document,
- instagramHelper.getBibliogramTorRedirectsChecks,
- instagramHelper.setBibliogramTorRedirectsChecks,
- instagramHelper.getBibliogramTorCustomRedirects,
- instagramHelper.setBibliogramTorCustomRedirects
- )
-})
-
-
let latencyElement = document.getElementById("latency");
let latencyLabel = document.getElementById("latency-label");
latencyElement.addEventListener("click",
@@ -76,17 +55,7 @@ latencyElement.addEventListener("click",
commonHelper.testLatency(latencyLabel, redirects.bibliogram.normal).then(r => {
browser.storage.local.set({ bibliogramLatency: r });
latencyLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'bibliogram',
- 'normal',
- instagramHelper,
- document,
- instagramHelper.getBibliogramNormalRedirectsChecks,
- instagramHelper.setBibliogramNormalRedirectsChecks,
- instagramHelper.getBibliogramNormalCustomRedirects,
- instagramHelper.setBibliogramNormalCustomRedirects,
- r,
- );
+ commonHelper.processDefaultCustomInstances('bibliogram', 'normal', instagramHelper, document);
latencyElement.removeEventListener("click", reloadWindow);
});
}
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index 91160ecf..47bd1856 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -45,7 +45,6 @@ document.addEventListener("change", async () => {
init();
})
-
window.onblur = () => {
redditHelper.initLibredditCookies();
redditHelper.initTedditCookies();
@@ -93,100 +92,53 @@ function changeFrontendsSettings(frontend) {
}
}
function init() {
- redditHelper.init().then(() => {
- browser.storage.local.get(
- [
- "disableReddit",
- "bypassWatchOnReddit",
- "redditProtocol",
- "redditFrontend",
-
- "enableLibredditCustomSettings",
-
- "redditTheme",
- "redditFrontPage",
- "redditLayout",
- "redditWide",
- "redditPostSort",
- "redditCommentSort",
- "redditShowNsfw",
- "redditAutoplayVideos",
- "redditUseHls",
- "redditHideHlsNotification",
- ],
- r => {
- disableRedditElement.checked = !r.disableReddit
- bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit
- protocolElement.value = r.redditProtocol
- redditFrontendElement.value = r.redditFrontend
- enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings
- changeFrontendsSettings(r.redditFrontend);
- changeProtocolSettings(r.redditProtocol);
-
- theme.value = r.redditTheme;
- front_page.value = r.redditFrontPage;
- layout.value = r.redditLayout;
- wide.checked = r.redditWide;
- post_sort.value = r.redditPostSort;
- comment_sort.value = r.redditCommentSort;
- show_nsfw.checked = r.redditShowNsfw;
- autoplay_videos.checked = r.redditAutoplayVideos;
- use_hls.checked = r.redditUseHls;
- hide_hls_notification.checked = r.redditHideHlsNotification;
- }
- )
+ browser.storage.local.get(
+ [
+ "disableReddit",
+ "bypassWatchOnReddit",
+ "redditProtocol",
+ "redditFrontend",
- browser.storage.local.get("libredditLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'libreddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getLibredditNormalRedirectsChecks,
- redditHelper.setLibredditNormalRedirectsChecks,
- redditHelper.getLibredditNormalCustomRedirects,
- redditHelper.setLibredditNormalCustomRedirects,
- r.libredditLatency,
- )
- })
+ "enableLibredditCustomSettings",
- commonHelper.processDefaultCustomInstances(
- 'libreddit',
- 'tor',
- redditHelper,
- document,
- redditHelper.getLibredditTorRedirectsChecks,
- redditHelper.setLibredditTorRedirectsChecks,
- redditHelper.getLibredditTorCustomRedirects,
- redditHelper.setLibredditTorCustomRedirects
- )
+ "redditTheme",
+ "redditFrontPage",
+ "redditLayout",
+ "redditWide",
+ "redditPostSort",
+ "redditCommentSort",
+ "redditShowNsfw",
+ "redditAutoplayVideos",
+ "redditUseHls",
+ "redditHideHlsNotification",
+ ],
+ r => {
+ disableRedditElement.checked = !r.disableReddit
+ bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit
+ protocolElement.value = r.redditProtocol
+ redditFrontendElement.value = r.redditFrontend
+ enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings
+ changeFrontendsSettings(r.redditFrontend);
+ changeProtocolSettings(r.redditProtocol);
- browser.storage.local.get("tedditLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'teddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getTedditNormalRedirectsChecks,
- redditHelper.setTedditNormalRedirectsChecks,
- redditHelper.getTedditNormalCustomRedirects,
- redditHelper.setTedditNormalCustomRedirects,
- r.tedditLatency,
- );
- })
+ theme.value = r.redditTheme;
+ front_page.value = r.redditFrontPage;
+ layout.value = r.redditLayout;
+ wide.checked = r.redditWide;
+ post_sort.value = r.redditPostSort;
+ comment_sort.value = r.redditCommentSort;
+ show_nsfw.checked = r.redditShowNsfw;
+ autoplay_videos.checked = r.redditAutoplayVideos;
+ use_hls.checked = r.redditUseHls;
+ hide_hls_notification.checked = r.redditHideHlsNotification;
+ }
+ )
- commonHelper.processDefaultCustomInstances(
- 'teddit',
- 'tor',
- redditHelper,
- document,
- redditHelper.getTedditTorRedirectsChecks,
- redditHelper.setTedditTorRedirectsChecks,
- redditHelper.getTedditTorCustomRedirects,
- redditHelper.setTedditTorCustomRedirects
- );
+ commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document)
+ commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document)
- })
+ commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document);
+ commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document);
}
init();
@@ -203,17 +155,7 @@ latencyLibredditElement.addEventListener("click",
commonHelper.testLatency(latencyLibredditLabel, redirects.libreddit.normal).then(r => {
browser.storage.local.set({ libredditLatency: r });
latencyLibredditLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'libreddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getLibredditNormalRedirectsChecks,
- redditHelper.setLibredditNormalRedirectsChecks,
- redditHelper.getLibredditNormalCustomRedirects,
- redditHelper.setLibredditNormalCustomRedirects,
- r,
- );
+ commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document);
latencyLibredditElement.removeEventListener("click", reloadWindow);
});
}
@@ -232,17 +174,7 @@ latencyTedditElement.addEventListener("click",
commonHelper.testLatency(latencyTedditLabel, redirects.teddit.normal).then(r => {
browser.storage.local.set({ tedditLatency: r });
latencyTedditLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'teddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getTedditNormalRedirectsChecks,
- redditHelper.setTedditNormalRedirectsChecks,
- redditHelper.getTedditNormalCustomRedirects,
- redditHelper.setTedditNormalCustomRedirects,
- r,
- );
+ commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document);
latencyTedditElement.removeEventListener("click", reloadWindow);
});
}
diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js
index af94c531..d314607e 100644
--- a/src/pages/options/youtube/invidious.js
+++ b/src/pages/options/youtube/invidious.js
@@ -34,21 +34,27 @@ let feed_menu1 = invidious.getElementsByClassName("feed_menu[1]")[0];
volume.addEventListener("input", () => volumeValue.textContent = `${volume.value}%`);
invidious.addEventListener("change", async _ => {
- console.log('changed invidious settings');
- let commentsList = youtubeHelper.getInvidiousComments();
- commentsList[0] = comments0.value;
- commentsList[1] = comments1.value;
+ browser.storage.local.get(
+ [
+ "invidiousComments",
+ "invidiousCaptions",
+ "invidiousFeedMenuList",
+ ],
+ async r => {
+ let commentsList = r.invidiousComments;
+ commentsList[0] = comments0.value;
+ commentsList[1] = comments1.value;
- let captionsList = youtubeHelper.getInvidiousCaptions();
- captionsList[0] = captions0.value;
- captionsList[1] = captions1.value;
- captionsList[2] = captions2.value;
+ let captionsList = r.invidiousCaptions;
+ captionsList[0] = captions0.value;
+ captionsList[1] = captions1.value;
+ captionsList[2] = captions2.value;
- let feedMenuList = youtubeHelper.getInvidiousFeedMenuList();
- feedMenuList[0] = feed_menu0.value;
- feedMenuList[1] = feed_menu1.value;
+ let feedMenuList = r.invidiousFeedMenuList;
+ feedMenuList[0] = feed_menu0.value;
+ feedMenuList[1] = feed_menu1.value;
- await youtubeHelper.setYoutubeSettings({
+ await browser.storage.local.set({
invidiousAlwaysProxy: alwaysProxy.checked,
youtubeAutoplay: autoplay.checked,
invidiousPlayerStyle: playerStyle.value,
@@ -73,79 +79,85 @@ invidious.addEventListener("change", async _ => {
invidiousThinMode: thin_mode.checked,
invidiousDefaultHome: default_home.value,
invidiousFeedMenuList: feedMenuList,
- });
- init();
+ });
+ init();
+ }
+ )
});
function init() {
- youtubeHelper.init().then(() => {
- videoLoop.checked = youtubeHelper.getInvidiousVideoLoop();
-
- autoplay.checked = youtubeHelper.getAutoplay();
-
- playerStyle.value = youtubeHelper.getInvidiousPlayerStyle();
+ browser.storage.local.get(
+ [
+ "youtubeListen",
+ "youtubeVolume",
+ "youtubeAutoplay",
+ "invidiousQuality",
+ "invidiousAlwaysProxy",
+ "invidiousQuality",
+ "invidiousPlayerStyle",
+ "invidiousVideoLoop",
+ "invidiousContinueAutoplay",
+ "invidiousContinue",
+ "invidiousSpeed",
+ "invidiousQualityDash",
+ "invidiousComments",
+ "invidiousCaptions",
+ "invidiousRelatedVideos",
+ "invidiousAnnotations",
+ "invidiousExtendDesc",
+ "invidiousVrMode",
+ "invidiousSavePlayerPos",
+ "invidiousRegion",
+ "invidiousDarkMode",
+ "invidiousThinMode",
+ "invidiousDefaultHome",
+ "invidiousFeedMenuList",
+ ],
+ r => {
+ videoLoop.checked = r.invidiousVideoLoop;
+ autoplay.checked = r.youtubeAutoplay;
+ playerStyle.value = r.invidiousPlayerStyle;
- continueAutoplay.checked = youtubeHelper.getInvidiousContinueAutoplay();
- invidiousContinue.checked = youtubeHelper.getInvidiousContinue();
- alwaysProxy.checked = youtubeHelper.getInvidiousAlwaysProxy();
- youtubeListen.checked = youtubeHelper.getYoutubeListen();
+ continueAutoplay.checked = r.invidiousContinueAutoplay;
+ invidiousContinue.checked = r.invidiousContinue;
+ alwaysProxy.checked = r.invidiousAlwaysProxy;
+ youtubeListen.checked = r.youtubeListen;
- speed.value = youtubeHelper.getInvidiousSpeed();
- quality.value = youtubeHelper.getInvidiousQuality();
- qualityDash.value = youtubeHelper.getInvidiousQualityDash();
+ speed.value = r.invidiousSpeed;
+ quality.value = r.invidiousQuality;
+ qualityDash.value = r.invidiousQualityDash;
- volume.value = youtubeHelper.getVolume();
- volumeValue.textContent = `${youtubeHelper.getVolume()}%`;
+ volume.value = r.youtubeVolume;
+ volumeValue.textContent = `${r.youtubeVolume}%`;
- comments0.value = youtubeHelper.getInvidiousComments()[0];
- comments1.value = youtubeHelper.getInvidiousComments()[1];
+ comments0.value = r.invidiousComments[0];
+ comments1.value = r.invidiousComments[1];
- captions0.value = youtubeHelper.getInvidiousCaptions()[0];
- captions1.value = youtubeHelper.getInvidiousCaptions()[1];
- captions2.value = youtubeHelper.getInvidiousCaptions()[2];
+ captions0.value = r.invidiousCaptions[0];
+ captions1.value = r.invidiousCaptions[1];
+ captions2.value = r.invidiousCaptions[2];
- relatedVideo.checked = youtubeHelper.getInvidiousRelatedVideos();
- annotations.checked = youtubeHelper.getInvidiousAnnotations();
- extendDesc.checked = youtubeHelper.getInvidiousExtendDesc();
- vrMode.checked = youtubeHelper.getInvidiousVrMode();
- savePlayerPos.checked = youtubeHelper.getInvidiousSavePlayerPos();
+ relatedVideo.checked = r.invidiousRelatedVideos;
+ annotations.checked = r.invidiousAnnotations;
+ extendDesc.checked = r.invidiousExtendDesc;
+ vrMode.checked = r.invidiousVrMode;
+ savePlayerPos.checked = r.invidiousSavePlayerPos;
- region.value = youtubeHelper.getInvidiousRegion();
- darkMode.value = youtubeHelper.getInvidiousDarkMode();
- thin_mode.checked = youtubeHelper.getInvidiousThinMode();
- default_home.value = youtubeHelper.getInvidiousDefaultHome();
+ region.value = r.invidiousRegion;
+ darkMode.value = r.invidiousDarkMode;
+ thin_mode.checked = r.invidiousThinMode;
+ default_home.value = r.invidiousDefaultHome;
- feed_menu0.value = youtubeHelper.getInvidiousFeedMenuList()[0];
- feed_menu1.value = youtubeHelper.getInvidiousFeedMenuList()[1];
+ feed_menu0.value = r.invidiousFeedMenuList[0];
+ feed_menu1.value = r.invidiousFeedMenuList[1];
- browser.storage.local.get("invidiousLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'invidious',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getInvidiousNormalRedirectsChecks,
- youtubeHelper.setInvidiousNormalRedirectsChecks,
- youtubeHelper.getInvidiousNormalCustomRedirects,
- youtubeHelper.setInvidiousNormalCustomRedirects,
- r.invidiousLatency
- );
- })
-
- commonHelper.processDefaultCustomInstances(
- 'invidious',
- 'tor',
- youtubeHelper,
- document,
- youtubeHelper.getInvidiousTorRedirectsChecks,
- youtubeHelper.setInvidiousTorRedirectsChecks,
- youtubeHelper.getInvidiousTorCustomRedirects,
- youtubeHelper.setInvidiousTorCustomRedirects
- );
- });
+ commonHelper.processDefaultCustomInstances('invidious', 'normal', youtubeHelper, document);
+ commonHelper.processDefaultCustomInstances('invidious', 'tor', youtubeHelper, document);
+ }
+ )
}
-init()
+init();
let latencyInvidiousElement = document.getElementById("latency-invidious");
let latencyInvidiousLabel = document.getElementById("latency-invidious-label");
@@ -160,17 +172,7 @@ latencyInvidiousElement.addEventListener("click",
commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => {
browser.storage.local.set({ invidiousLatency: r });
latencyInvidiousLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'invidious',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getInvidiousNormalRedirectsChecks,
- youtubeHelper.setInvidiousNormalRedirectsChecks,
- youtubeHelper.getInvidiousNormalCustomRedirects,
- youtubeHelper.setInvidiousNormalCustomRedirects,
- r,
- );
+ commonHelper.processDefaultCustomInstances('invidious', 'normal', youtubeHelper, document);
latencyInvidiousElement.removeEventListener("click", reloadWindow);
});
}
diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js
index a0bc45a7..6e30b8e6 100644
--- a/src/pages/options/youtube/piped.js
+++ b/src/pages/options/youtube/piped.js
@@ -44,7 +44,6 @@ function selectSkipModify(value, boolean) {
}
let selectSkip = [];
piped.addEventListener("change", async () => {
- console.log("changed piped settings");
let pipedEnabledCodecsResult = [];
for (const opt of pipedEnabledCodecs.options)
if (opt.selected) pipedEnabledCodecsResult.push(opt.value);
@@ -59,7 +58,7 @@ piped.addEventListener("change", async () => {
selectSkipModify('poi_highlight', pipedSelectedSkipPoiHighlight.checked);
selectSkipModify('filler', pipedSelectedSkipFiller.checked);
- await youtubeHelper.setYoutubeSettings({
+ await browser.storage.local.set({
pipedQuality: pipedQuality.value,
pipedBufferGoal: pipedBufferGoal.value,
pipedRegion: pipedRegion.value,
@@ -80,89 +79,78 @@ piped.addEventListener("change", async () => {
init();
});
-function init() {
- youtubeHelper.init().then(() => {
- pipedSponsorblock.checked = youtubeHelper.getPipedSponsorblock();
- pipedDdlTheme.value = youtubeHelper.getPipedDdlTheme();
- selectSkip = youtubeHelper.getPipedSelectedSkip();
- pipedSelectedSkipSponsor.checked = selectSkip.includes('sponsor');
- pipedSelectedSkipIntro.checked = selectSkip.includes('intro');
- pipedSelectedSkipOutro.checked = selectSkip.includes('outro');
- pipedSelectedSkipPreview.checked = selectSkip.includes('preview');
- autoplay.checked = youtubeHelper.getAutoplay();
- pipedSelectedSkipInteraction.checked = selectSkip.includes('interaction');
- pipedSelectedSkipSelfpromo.checked = selectSkip.includes('selfpromo');
- pipedSelectedSkipMusicOfftopic.checked = selectSkip.includes('music_offtopic');
- pipedSelectedSkipPoiHighlight.checked = selectSkip.includes('poi_highlight');
- pipedSelectedSkipFiller.checked = selectSkip.includes('filler');
- pipedListen.checked = youtubeHelper.getYoutubeListen();
- pipedQuality.value = youtubeHelper.getPipedQuality();
- pipedBufferGoal.value = youtubeHelper.getPipedBufferGoal();
- pipedRegion.value = youtubeHelper.getPipedRegion();
- pipedHomepage.value = youtubeHelper.getPipedHomepage();
- pipedComments.checked = youtubeHelper.getPipedComments();
- pipedMinimizeDescription.checked = youtubeHelper.getPipedMinimizeDescription();
- pipedWatchHistory.checked = youtubeHelper.getPipedWatchHistory();
- pipedEnabledCodecs.value = youtubeHelper.getPipedEnabledCodecs();
- pipedDisableLBRY.checked = youtubeHelper.getPipedDisableLBRY();
- pipedProxyLBRY.checked = youtubeHelper.getPipedProxyLBRY();
+async function init() {
+ await browser.storage.local.get(
+ [
+ "youtubeVolume",
+ "youtubeAutoplay",
+ "youtubeListen",
- volume.value = youtubeHelper.getVolume();
- volumeValue.textContent = `${youtubeHelper.getVolume()}%`;
+ "pipedBufferGoal",
+ "pipedComments",
+ "pipedDisableLBRY",
+ "pipedEnabledCodecs",
+ "pipedHomepage",
+ "pipedMinimizeDescription",
+ "pipedProxyLBRY",
+ "pipedQuality",
+ "pipedRegion",
+ "pipedSelectedSkip",
+ "pipedSponsorblock",
+ "pipedDdlTheme",
+ "pipedWatchHistory",
+ ],
+ r => {
+ pipedSponsorblock.checked = r.pipedSponsorblock;
+ pipedDdlTheme.value = r.pipedDdlTheme;
+ selectSkip = r.pipedSelectedSkip;
+ pipedSelectedSkipSponsor.checked = selectSkip.includes('sponsor');
+ pipedSelectedSkipIntro.checked = selectSkip.includes('intro');
+ pipedSelectedSkipOutro.checked = selectSkip.includes('outro');
+ pipedSelectedSkipPreview.checked = selectSkip.includes('preview');
+ autoplay.checked = r.youtubeAutoplay;
+ pipedSelectedSkipInteraction.checked = selectSkip.includes('interaction');
+ pipedSelectedSkipSelfpromo.checked = selectSkip.includes('selfpromo');
+ pipedSelectedSkipMusicOfftopic.checked = selectSkip.includes('music_offtopic');
+ pipedSelectedSkipPoiHighlight.checked = selectSkip.includes('poi_highlight');
+ pipedSelectedSkipFiller.checked = selectSkip.includes('filler');
+ pipedListen.checked = r.youtubeListen;
+ pipedQuality.value = r.pipedQuality;
+ pipedBufferGoal.value = r.pipedBufferGoal;
+ pipedRegion.value = r.pipedRegion;
+ pipedHomepage.value = r.pipedHomepage;
+ pipedComments.checked = r.pipedComments;
+ pipedMinimizeDescription.checked = r.pipedMinimizeDescription;
+ pipedWatchHistory.checked = r.pipedWatchHistory;
+ pipedEnabledCodecs.value = r.pipedEnabledCodecs;
+ pipedDisableLBRY.checked = r.pipedDisableLBRY;
+ pipedProxyLBRY.checked = r.pipedProxyLBRY;
- browser.storage.local.get("pipedLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'piped',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedNormalRedirectsChecks,
- youtubeHelper.setPipedNormalRedirectsChecks,
- youtubeHelper.getPipedNormalCustomRedirects,
- youtubeHelper.setPipedNormalCustomRedirects,
- r.pipedLatency,
- );
- });
+ volume.value = r.youtubeVolume;
+ volumeValue.textContent = `${r.youtubeVolume}%`;
- commonHelper.processDefaultCustomInstances(
- 'piped',
- 'tor',
- youtubeHelper,
- document,
- youtubeHelper.getPipedTorRedirectsChecks,
- youtubeHelper.setPipedTorRedirectsChecks,
- youtubeHelper.getPipedTorCustomRedirects,
- youtubeHelper.setPipedTorCustomRedirects
- );
- });
+ commonHelper.processDefaultCustomInstances('piped', 'normal', youtubeHelper, document);
+ commonHelper.processDefaultCustomInstances('piped', 'tor', youtubeHelper, document);
+ }
+ );
}
init();
let latencyPipedElement = document.getElementById("latency-piped");
let latencyPipedLabel = document.getElementById("latency-piped-label");
latencyPipedElement.addEventListener("click",
- async () => {
- let reloadWindow = () => location.reload();
- latencyPipedElement.addEventListener("click", reloadWindow);
- await youtubeHelper.init();
- let redirects = youtubeHelper.getRedirects();
- const oldHtml = latencyPipedLabel.innerHTML;
- latencyPipedLabel.innerHTML = '...';
- commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => {
- browser.storage.local.set({ pipedLatency: r });
- latencyPipedLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'piped',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedNormalRedirectsChecks,
- youtubeHelper.setPipedNormalRedirectsChecks,
- youtubeHelper.getPipedNormalCustomRedirects,
- youtubeHelper.setPipedNormalCustomRedirects,
- r,
- );
- latencyPipedElement.removeEventListener("click", reloadWindow);
- });
- }
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyPipedElement.addEventListener("click", reloadWindow);
+ await youtubeHelper.init();
+ let redirects = youtubeHelper.getRedirects();
+ const oldHtml = latencyPipedLabel.innerHTML;
+ latencyPipedLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => {
+ browser.storage.local.set({ pipedLatency: r });
+ latencyPipedLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances('piped', 'normal', youtubeHelper, document);
+ latencyPipedElement.removeEventListener("click", reloadWindow);
+ });
+ }
);
diff --git a/src/pages/options/youtube/pipedMaterial.js b/src/pages/options/youtube/pipedMaterial.js
index bc31289a..7c647b18 100644
--- a/src/pages/options/youtube/pipedMaterial.js
+++ b/src/pages/options/youtube/pipedMaterial.js
@@ -44,7 +44,7 @@ pipedMaterialElement.addEventListener("change", async () => {
selectSkipModify('selfpromo', selectedSkipSelfpromoElement.checked);
selectSkipModify('music_offtopic', selectedSkipMusicOfftopicElement.checked);
- await youtubeHelper.setYoutubeSettings({
+ await browser.storage.local.set({
youtubeListen: listenElement.checked,
pipedDisableLBRY: disableLBRYElement.checked,
pipedProxyLBRY: proxyLBRYElement.checked,
@@ -68,77 +68,61 @@ pipedMaterialElement.addEventListener("change", async () => {
});
function init() {
- youtubeHelper.init().then(() => {
- autoplayElement.checked = youtubeHelper.getAutoplay();
+ browser.storage.local.get(
+ [
+ "youtubeAutoplay",
+ "youtubeVolume",
+ "youtubeListen",
- listenElement.checked = youtubeHelper.getYoutubeListen();
- disableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY();
- proxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY();
- sponsorblockElement.checked = youtubeHelper.getPipedSponsorblock();
- skipToLastPointElement.checked = youtubeHelper.getPipedMaterialSkipToLastPoint();
- selectedSkipSponsorElement.checked = selectSkip.includes('sponsors');
- selectedSkipIntroElement.checked = selectSkip.includes('intro');
- selectedSkipOutroElement.checked = selectSkip.includes('outro');
- selectedSkipPreviewElement.checked = selectSkip.includes('preview');
- selectedSkipInteractionElement.checked = selectSkip.includes('interaction');
- selectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo');
- selectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic');
+ "pipedDisableLBRY",
+ "pipedProxyLBRY",
+ "pipedSelectedSkip",
+ "pipedSponsorblock",
- volumeElement.value = youtubeHelper.getVolume();
- volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
- browser.storage.local.get("pipedMaterialLatency").then(r => {
- commonHelper.processDefaultCustomInstances(
- 'pipedMaterial',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedMaterialNormalRedirectsChecks,
- youtubeHelper.setPipedMaterialNormalRedirectsChecks,
- youtubeHelper.getPipedMaterialNormalCustomRedirects,
- youtubeHelper.setPipedMaterialNormalCustomRedirects,
- r.pipedMaterialLatency,
- );
- });
+ "pipedMaterialSkipToLastPoint",
+ ],
+ r => {
+ autoplayElement.checked = r.youtubeAutoplay;
- commonHelper.processDefaultCustomInstances(
- 'pipedMaterial',
- 'tor',
- youtubeHelper,
- document,
- youtubeHelper.getPipedMaterialTorRedirectsChecks,
- youtubeHelper.setPipedMaterialTorRedirectsChecks,
- youtubeHelper.getPipedMaterialTorCustomRedirects,
- youtubeHelper.setPipedMaterialTorCustomRedirects
- );
- });
+ listenElement.checked = r.youtubeListen;
+ disableLBRYElement.checked = r.pipedDisableLBRY;
+ proxyLBRYElement.checked = r.pipedProxyLBRY;
+ sponsorblockElement.checked = r.pipedSponsorblock;
+ skipToLastPointElement.checked = r.pipedMaterialSkipToLastPoint;
+
+ selectSkip = r.pipedSelectedSkip;
+ selectedSkipSponsorElement.checked = selectSkip.includes('sponsors');
+ selectedSkipIntroElement.checked = selectSkip.includes('intro');
+ selectedSkipOutroElement.checked = selectSkip.includes('outro');
+ selectedSkipPreviewElement.checked = selectSkip.includes('preview');
+ selectedSkipInteractionElement.checked = selectSkip.includes('interaction');
+ selectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo');
+ selectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic');
+
+ volumeElement.value = r.youtubeVolume;
+ volumeValueElement.textContent = `${r.youtubeVolume}%`;
+
+ commonHelper.processDefaultCustomInstances('pipedMaterial', 'normal', youtubeHelper, document);
+ commonHelper.processDefaultCustomInstances('pipedMaterial', 'tor', youtubeHelper, document);
+ });
}
init();
let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial");
let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label");
latencyPipedMaterialElement.addEventListener("click",
- async () => {
- let reloadWindow = () => location.reload();
- latencyPipedMaterialElement.addEventListener("click", reloadWindow);
- await youtubeHelper.init();
- let redirects = youtubeHelper.getRedirects();
- const oldHtml = latencyPipedMaterialLabel.innerHTML;
- latencyPipedMaterialLabel.innerHTML = '...';
- commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => {
- browser.storage.local.set({ pipedMaterialLatency: r });
- latencyPipedMaterialLabel.innerHTML = oldHtml;
- commonHelper.processDefaultCustomInstances(
- 'pipedMaterial',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedMaterialNormalRedirectsChecks,
- youtubeHelper.setPipedMaterialNormalRedirectsChecks,
- youtubeHelper.getPipedMaterialNormalCustomRedirects,
- youtubeHelper.setPipedMaterialNormalCustomRedirects,
- r,
- );
- latencyPipedMaterialElement.removeEventListener("click", reloadWindow);
- });
- }
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyPipedMaterialElement.addEventListener("click", reloadWindow);
+ await youtubeHelper.init();
+ let redirects = youtubeHelper.getRedirects();
+ const oldHtml = latencyPipedMaterialLabel.innerHTML;
+ latencyPipedMaterialLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => {
+ browser.storage.local.set({ pipedMaterialLatency: r });
+ latencyPipedMaterialLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances('pipedMaterial', 'normal', youtubeHelper, document);
+ latencyPipedMaterialElement.removeEventListener("click", reloadWindow);
+ });
+ }
); \ No newline at end of file
diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js
index 5f915251..71ae4777 100644
--- a/src/pages/options/youtube/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -95,9 +95,8 @@ function changeProtocolSettings(protocol) {
}
}
-
-document.addEventListener("change", () => {
- youtubeHelper.setYoutubeSettings({
+document.addEventListener("change", async () => {
+ await browser.storage.local.set({
disableYoutube: !disableYoutubeElement.checked,
youtubeFrontend: youtubeFrontendElement.value,
youtubeEmbedFrontend: youtubeEmbedFrontendElement.value,
@@ -111,24 +110,43 @@ document.addEventListener("change", () => {
changeFrontendsSettings();
})
-youtubeHelper.init().then(() => {
- disableYoutubeElement.checked = !youtubeHelper.getDisable();
- enableYoutubeCustomSettingsElement.checked = youtubeHelper.getEnableCustomSettings();
-
- OnlyEmbeddedVideoElement.value = youtubeHelper.getOnlyEmbeddedVideo();
- bypassWatchOnYoutubeElement.checked = youtubeHelper.getBypassWatchOnYoutube();
-
- let frontend = youtubeHelper.getFrontend();
- youtubeFrontendElement.value = frontend;
- changeFrontendsSettings();
+browser.storage.local.get(
+ [
+ "disableYoutube",
+ "enableYoutubeCustomSettings",
+ "OnlyEmbeddedVideo",
+ "youtubeRedirects",
+ "youtubeFrontend",
+
+ "alwaysUsePreferred",
+ "youtubeEmbedFrontend",
+ "youtubeProtocol",
+ "bypassWatchOnYoutube",
+ ],
+ r => {
+ disableYoutubeElement.checked = !r.disableYoutube;
+ enableYoutubeCustomSettingsElement.checked = r.enableYoutubeCustomSettings;
+
+ OnlyEmbeddedVideoElement.value = r.OnlyEmbeddedVideo;
+ bypassWatchOnYoutubeElement.checked = r.bypassWatchOnYoutube;
+
+ let frontend = r.youtubeFrontend;
+ youtubeFrontendElement.value = frontend;
+ changeFrontendsSettings();
+
+ let protocol = r.youtubeProtocol;
+ protocolElement.value = protocol;
+ changeProtocolSettings(protocol);
+
+ let youtubeEmbedFrontend = r.youtubeEmbedFrontend;
+ youtubeEmbedFrontendElement.value = youtubeEmbedFrontend
+ if (frontend == "freetube" || frontend == "yatte") {
+ changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend)
+ };
+ }
+);
- let protocol = youtubeHelper.getProtocol();
- protocolElement.value = protocol;
- changeProtocolSettings(protocol);
- let youtubeEmbedFrontend = youtubeHelper.getYoutubeEmbedFrontend()
- youtubeEmbedFrontendElement.value = youtubeEmbedFrontend
- if (frontend == "freetube" || frontend == "yatte") {
- changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend)
- };
-});
+window.onblur = () => {
+ youtubeHelper.initInvidiousCookies();
+} \ No newline at end of file