about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/reddit.js50
-rw-r--r--src/assets/javascripts/search.js76
-rw-r--r--src/assets/javascripts/tiktok.js9
-rw-r--r--src/assets/javascripts/translate/translate.js10
-rw-r--r--src/assets/javascripts/twitter.js31
-rw-r--r--src/assets/javascripts/utils.js24
-rw-r--r--src/assets/javascripts/wikipedia.js7
-rw-r--r--src/assets/javascripts/youtube/youtube.js3
8 files changed, 99 insertions, 111 deletions
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index 8872aaf3..53651048 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -92,7 +92,7 @@ browser.storage.onChanged.addListener(init)
 function initLibredditCookies(test, from) {
   return new Promise(async resolve => {
     await init();
-    let protocolHost = utils.protocolHost(from);
+    const protocolHost = utils.protocolHost(from);
     if (![
       ...libredditNormalRedirectsChecks,
       ...libredditTorRedirectsChecks,
@@ -104,18 +104,16 @@ function initLibredditCookies(test, from) {
       let checkedInstances;
       if (redditProtocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
       else if (redditProtocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('libreddit', from, to, "theme");
-        utils.copyCookie('libreddit', from, to, "front_page");
-        utils.copyCookie('libreddit', from, to, "layout");
-        utils.copyCookie('libreddit', from, to, "wide");
-        utils.copyCookie('libreddit', from, to, "post_sort");
-        utils.copyCookie('libreddit', from, to, "comment_sort");
-        utils.copyCookie('libreddit', from, to, "show_nsfw");
-        utils.copyCookie('libreddit', from, to, "autoplay_videos");
-        utils.copyCookie('libreddit', from, to, "use_hls");
-        utils.copyCookie('libreddit', from, to, "hide_hls_notification");
-      }
+      await utils.copyCookie('libreddit', from, checkedInstances, "theme");
+      await utils.copyCookie('libreddit', from, checkedInstances, "front_page");
+      await utils.copyCookie('libreddit', from, checkedInstances, "layout");
+      await utils.copyCookie('libreddit', from, checkedInstances, "wide");
+      await utils.copyCookie('libreddit', from, checkedInstances, "post_sort");
+      await utils.copyCookie('libreddit', from, checkedInstances, "comment_sort");
+      await utils.copyCookie('libreddit', from, checkedInstances, "show_nsfw");
+      await utils.copyCookie('libreddit', from, checkedInstances, "autoplay_videos");
+      await utils.copyCookie('libreddit', from, checkedInstances, "use_hls");
+      await utils.copyCookie('libreddit', from, checkedInstances, "hide_hls_notification");
     }
     resolve(true);
   })
@@ -159,20 +157,18 @@ function initTedditCookies(test, from) {
       let checkedInstances;
       if (redditProtocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
       else if (redditProtocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('teddit', from, to, 'collapse_child_comments')
-        utils.copyCookie('teddit', from, to, 'domain_instagram')
-        utils.copyCookie('teddit', from, to, 'domain_twitter')
-        utils.copyCookie('teddit', from, to, 'domain_youtube')
-        utils.copyCookie('teddit', from, to, 'flairs')
-        utils.copyCookie('teddit', from, to, 'highlight_controversial')
-        utils.copyCookie('teddit', from, to, 'nsfw_enabled')
-        utils.copyCookie('teddit', from, to, 'post_media_max_height')
-        utils.copyCookie('teddit', from, to, 'show_upvoted_percentage')
-        utils.copyCookie('teddit', from, to, 'show_upvotes')
-        utils.copyCookie('teddit', from, to, 'theme')
-        utils.copyCookie('teddit', from, to, 'videos_muted')
-      }
+      await utils.copyCookie('teddit', from, checkedInstances, 'collapse_child_comments')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_instagram')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_twitter')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_youtube')
+      await utils.copyCookie('teddit', from, checkedInstances, 'flairs')
+      await utils.copyCookie('teddit', from, checkedInstances, 'highlight_controversial')
+      await utils.copyCookie('teddit', from, checkedInstances, 'nsfw_enabled')
+      await utils.copyCookie('teddit', from, checkedInstances, 'post_media_max_height')
+      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvoted_percentage')
+      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvotes')
+      await utils.copyCookie('teddit', from, checkedInstances, 'theme')
+      await utils.copyCookie('teddit', from, checkedInstances, 'videos_muted')
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index b32a8141..cb4c54fd 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -153,25 +153,23 @@ function initSearxCookies(test, from) {
       if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
       else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
       else if (searchProtocol == 'i2p') checkedInstances = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('searx', from, to, 'advanced_search');
-        utils.copyCookie('searx', from, to, 'autocomplete');
-        utils.copyCookie('searx', from, to, 'categories');
-        utils.copyCookie('searx', from, to, 'disabled_engines');
-        utils.copyCookie('searx', from, to, 'disabled_plugins');
-        utils.copyCookie('searx', from, to, 'doi_resolver');
-        utils.copyCookie('searx', from, to, 'enabled_engines');
-        utils.copyCookie('searx', from, to, 'enabled_plugins');
-        utils.copyCookie('searx', from, to, 'image_proxy');
-        utils.copyCookie('searx', from, to, 'language');
-        utils.copyCookie('searx', from, to, 'locale');
-        utils.copyCookie('searx', from, to, 'method');
-        utils.copyCookie('searx', from, to, 'oscar-style');
-        utils.copyCookie('searx', from, to, 'results_on_new_tab');
-        utils.copyCookie('searx', from, to, 'safesearch');
-        utils.copyCookie('searx', from, to, 'theme');
-        utils.copyCookie('searx', from, to, 'tokens');
-      }
+      await utils.copyCookie('searx', from, checkedInstances, 'advanced_search');
+      await utils.copyCookie('searx', from, checkedInstances, 'autocomplete');
+      await utils.copyCookie('searx', from, checkedInstances, 'categories');
+      await utils.copyCookie('searx', from, checkedInstances, 'disabled_engines');
+      await utils.copyCookie('searx', from, checkedInstances, 'disabled_plugins');
+      await utils.copyCookie('searx', from, checkedInstances, 'doi_resolver');
+      await utils.copyCookie('searx', from, checkedInstances, 'enabled_engines');
+      await utils.copyCookie('searx', from, checkedInstances, 'enabled_plugins');
+      await utils.copyCookie('searx', from, checkedInstances, 'image_proxy');
+      await utils.copyCookie('searx', from, checkedInstances, 'language');
+      await utils.copyCookie('searx', from, checkedInstances, 'locale');
+      await utils.copyCookie('searx', from, checkedInstances, 'method');
+      await utils.copyCookie('searx', from, checkedInstances, 'oscar-style');
+      await utils.copyCookie('searx', from, checkedInstances, 'results_on_new_tab');
+      await utils.copyCookie('searx', from, checkedInstances, 'safesearch');
+      await utils.copyCookie('searx', from, checkedInstances, 'theme');
+      await utils.copyCookie('searx', from, checkedInstances, 'tokens');
     }
     resolve(true);
   })
@@ -225,27 +223,25 @@ function initSearxngCookies(test, from) {
       if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
       else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
       else if (searchProtocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('searxng', from, to, 'autocomplete');
-        utils.copyCookie('searxng', from, to, 'categories');
-        utils.copyCookie('searxng', from, to, 'disabled_engines');
-        utils.copyCookie('searxng', from, to, 'disabled_plugins');
-        utils.copyCookie('searxng', from, to, 'doi_resolver');
-        utils.copyCookie('searxng', from, to, 'enabled_plugins');
-        utils.copyCookie('searxng', from, to, 'enabled_engines');
-        utils.copyCookie('searxng', from, to, 'image_proxy');
-        utils.copyCookie('searxng', from, to, 'infinite_scroll');
-        utils.copyCookie('searxng', from, to, 'language');
-        utils.copyCookie('searxng', from, to, 'locale');
-        utils.copyCookie('searxng', from, to, 'maintab');
-        utils.copyCookie('searxng', from, to, 'method');
-        utils.copyCookie('searxng', from, to, 'query_in_title');
-        utils.copyCookie('searxng', from, to, 'results_on_new_tab');
-        utils.copyCookie('searxng', from, to, 'safesearch');
-        utils.copyCookie('searxng', from, to, 'simple_style');
-        utils.copyCookie('searxng', from, to, 'theme');
-        utils.copyCookie('searxng', from, to, 'tokens');
-      }
+      await utils.copyCookie('searxng', from, checkedInstances, 'autocomplete');
+      await utils.copyCookie('searxng', from, checkedInstances, 'categories');
+      await utils.copyCookie('searxng', from, checkedInstances, 'disabled_engines');
+      await utils.copyCookie('searxng', from, checkedInstances, 'disabled_plugins');
+      await utils.copyCookie('searxng', from, checkedInstances, 'doi_resolver');
+      await utils.copyCookie('searxng', from, checkedInstances, 'enabled_plugins');
+      await utils.copyCookie('searxng', from, checkedInstances, 'enabled_engines');
+      await utils.copyCookie('searxng', from, checkedInstances, 'image_proxy');
+      await utils.copyCookie('searxng', from, checkedInstances, 'infinite_scroll');
+      await utils.copyCookie('searxng', from, checkedInstances, 'language');
+      await utils.copyCookie('searxng', from, checkedInstances, 'locale');
+      await utils.copyCookie('searxng', from, checkedInstances, 'maintab');
+      await utils.copyCookie('searxng', from, checkedInstances, 'method');
+      await utils.copyCookie('searxng', from, checkedInstances, 'query_in_title');
+      await utils.copyCookie('searxng', from, checkedInstances, 'results_on_new_tab');
+      await utils.copyCookie('searxng', from, checkedInstances, 'safesearch');
+      await utils.copyCookie('searxng', from, checkedInstances, 'simple_style');
+      await utils.copyCookie('searxng', from, checkedInstances, 'theme');
+      await utils.copyCookie('searxng', from, checkedInstances, 'tokens');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js
index 750744e6..d36c47b0 100644
--- a/src/assets/javascripts/tiktok.js
+++ b/src/assets/javascripts/tiktok.js
@@ -42,17 +42,16 @@ function initProxiTokCookies(test, from) {
             let checkedInstances;
             if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
             else if (tiktokProtocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]
-            for (const to of checkedInstances) {
-                utils.copyCookie('proxitok', from, to, 'theme');
-                utils.copyCookie('proxitok', from, to, 'api-legacy');
-            }
+            await utils.copyCookie('proxitok', from, checkedInstances, 'theme');
+            await utils.copyCookie('proxitok', from, checkedInstances, 'api-legacy');
         }
         resolve(true);
     })
 }
 
 function setProxiTokCookies() {
-    return new Promise(resolve => {
+    return new Promise(async resolve => {
+        await init();
         if (disableTiktok || tiktokProtocol === undefined) { resolve(); return; }
         let checkedInstances;
         if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index 3c8f9222..cc7a8c02 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -143,12 +143,10 @@ function initSimplyTranslateCookies(test, from) {
       let checkedInstances;
       if (translateProtocol == 'normal') checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
       else if (translateProtocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('simplyTranslate', from, to, 'from_lang');
-        utils.copyCookie('simplyTranslate', from, to, 'to_lang');
-        utils.copyCookie('simplyTranslate', from, to, 'tts_enabled');
-        utils.copyCookie('simplyTranslate', from, to, 'use_text_fields');
-      }
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'from_lang');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'to_lang');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'tts_enabled');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'use_text_fields');
     }
     resolve(true);
   }
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index d03c269f..3d110ae4 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -147,27 +147,24 @@ function initNitterCookies(test, from) {
     const protocolHost = utils.protocolHost(from);
     if (!all().includes(protocolHost)
     ) { resolve(); return; }
-
     if (!test) {
       let checkedInstances;
       if (twitterProtocol == 'normal') checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
       else if (twitterProtocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('nitter', from, to, 'theme');
-        utils.copyCookie('nitter', from, to, 'infiniteScroll');
-        utils.copyCookie('nitter', from, to, 'stickyProfile');
-        utils.copyCookie('nitter', from, to, 'bidiSupport');
-        utils.copyCookie('nitter', from, to, 'hideTweetStats');
-        utils.copyCookie('nitter', from, to, 'hideBanner');
-        utils.copyCookie('nitter', from, to, 'hidePins');
-        utils.copyCookie('nitter', from, to, 'hideReplies');
-        utils.copyCookie('nitter', from, to, 'squareAvatars');
-        utils.copyCookie('nitter', from, to, 'mp4Playback');
-        utils.copyCookie('nitter', from, to, 'hlsPlayback');
-        utils.copyCookie('nitter', from, to, 'proxyVideos');
-        utils.copyCookie('nitter', from, to, 'muteVideos');
-        utils.copyCookie('nitter', from, to, 'autoplayGifs');
-      }
+      await utils.copyCookie('nitter', from, checkedInstances, 'theme');
+      await utils.copyCookie('nitter', from, checkedInstances, 'infiniteScroll');
+      await utils.copyCookie('nitter', from, checkedInstances, 'stickyProfile');
+      await utils.copyCookie('nitter', from, checkedInstances, 'bidiSupport');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideTweetStats');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideBanner');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hidePins');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideReplies');
+      await utils.copyCookie('nitter', from, checkedInstances, 'squareAvatars');
+      await utils.copyCookie('nitter', from, checkedInstances, 'mp4Playback');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hlsPlayback');
+      await utils.copyCookie('nitter', from, checkedInstances, 'proxyVideos');
+      await utils.copyCookie('nitter', from, checkedInstances, 'muteVideos');
+      await utils.copyCookie('nitter', from, checkedInstances, 'autoplayGifs');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index e3dc2c96..4dbeb6db 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -280,16 +280,22 @@ async function testLatency(element, instances) {
   })
 }
 
-function copyCookie(frontend, targetUrl, url, name) {
-  browser.cookies.get(
-    { url: protocolHost(targetUrl), name: name },
-    r => {
-      if (r) {
-        browser.cookies.set({ url: url, name: name, value: r.value })
-        browser.storage.local.set({ [`${frontend}_${name}`]: r.value })
+function copyCookie(frontend, targetUrl, urls, name) {
+  return new Promise(resolve => {
+    browser.cookies.get(
+      { url: protocolHost(targetUrl), name: name },
+      async r => {
+        function setCookies(url, name, value) {
+          return new Promise(resolve => browser.cookies.set({ url: url, name: name, value: value }, () => resolve()))
+        }
+        if (r) {
+          console.log(name, r.value);
+          for (const url of urls) await setCookies(url, name, r.value)
+          browser.storage.local.set({ [`${frontend}_${name}`]: r.value }, () => resolve())
+        } else resolve();
       }
-    }
-  )
+    )
+  })
 }
 
 function getCookiesFromStorage(frontend, to, name) {
diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js
index 868bb01c..dc7af0af 100644
--- a/src/assets/javascripts/wikipedia.js
+++ b/src/assets/javascripts/wikipedia.js
@@ -90,11 +90,8 @@ function initWikilessCookies(test, from) {
       if (wikipediaProtocol == 'normal') checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]
       else if (wikipediaProtocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]
       else if (wikipediaProtocol == 'i2p') checkedInstances = [...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects]
-
-      for (const to of checkedInstances) {
-        utils.copyCookie('wikiless', from, to, 'theme');
-        utils.copyCookie('wikiless', from, to, 'default_lang');
-      }
+      await utils.copyCookie('wikiless', from, checkedInstances, 'theme');
+      await utils.copyCookie('wikiless', from, checkedInstances, 'default_lang');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index 7d7aa2c1..dfd644ae 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -315,8 +315,7 @@ function initInvidiousCookies(test, from) {
       else if (youtubeProtocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
       const i = checkedInstances.indexOf(protocolHost);
       if (i !== -1) checkedInstances.splice(i, 1);
-      for (const to of checkedInstances)
-        utils.copyCookie('invidious', from, to, 'PREFS');
+      await utils.copyCookie('invidious', from, checkedInstances, 'PREFS');
     }
     resolve(true);
   })