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/imgur.js2
-rw-r--r--src/assets/javascripts/search.js3
-rw-r--r--src/assets/javascripts/twitter.js10
-rw-r--r--src/assets/javascripts/utils.js25
-rw-r--r--src/assets/javascripts/youtube/youtube.js4
5 files changed, 26 insertions, 18 deletions
diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js
index e6097a67..90dda136 100644
--- a/src/assets/javascripts/imgur.js
+++ b/src/assets/javascripts/imgur.js
@@ -2,7 +2,7 @@ window.browser = window.browser || window.chrome;
 
 import utils from './utils.js'
 
-const targets = /^https?:\/{2}([im]\.)?imgur\.com(\/|$)/
+const targets = /^https?:\/{2}([im]\.)?imgur\.(com|io)(\/|$)/
 
 let redirects = {
     "rimgo": {
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index 53d7c183..2b51f868 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -3,9 +3,6 @@ window.browser = window.browser || window.chrome;
 import utils from './utils.js'
 
 const targets = [
-  /^https?:\/{2}(www\.|search\.|)google(\.[a-z]{2,3}){1,2}(\/search(\?.*|$)|\/$)/,
-  /^https?:\/{2}(www\.|www2\.|)bing\.com/,
-  /^https?:\/{2}yandex(\.[a-z]{2,3}){1,2}/,
   /^https?:\/{2}search\.libredirect\.invalid/,
 ];
 
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index 120ad691..28689aa5 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -36,6 +36,7 @@ let
   disableTwitter,
   twitterProtocol,
   twitterRedirects,
+  twitterRedirectType,
   nitterNormalRedirectsChecks,
   nitterNormalCustomRedirects,
   nitterTorRedirectsChecks,
@@ -48,6 +49,7 @@ function init() {
         "disableTwitter",
         "twitterProtocol",
         "twitterRedirects",
+        "twitterRedirectType",
         "nitterNormalRedirectsChecks",
         "nitterNormalCustomRedirects",
         "nitterTorRedirectsChecks",
@@ -57,6 +59,7 @@ function init() {
         disableTwitter = r.disableTwitter;
         twitterProtocol = r.twitterProtocol;
         twitterRedirects = r.twitterRedirects;
+        twitterRedirectType = r.twitterRedirectType;
         nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks;
         nitterNormalCustomRedirects = r.nitterNormalCustomRedirects;
         nitterTorRedirectsChecks = r.nitterTorRedirectsChecks;
@@ -79,11 +82,13 @@ function all() {
   ];
 }
 
-function redirect(url, initiator) {
+function redirect(url, type, initiator) {
   if (disableTwitter) return;
   if (!targets.some(rx => rx.test(url.href))) return;
   if (url.pathname.split("/").includes("home")) return;
   if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
+  if (twitterRedirectType == 'sub_frame' && type == "main_frame") return;
+  if (twitterRedirectType == 'main_frame' && type != "main_frame") return;
 
   let instancesList;
   if (twitterProtocol == 'normal') instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
@@ -206,7 +211,7 @@ function pasteNitterCookies() {
     utils.getCookiesFromStorage('nitter', checkedInstances, 'proxyVideos');
     utils.getCookiesFromStorage('nitter', checkedInstances, 'muteVideos');
     utils.getCookiesFromStorage('nitter', checkedInstances, 'autoplayGifs');
-    
+
     utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceInstagram');
     utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceReddit');
     utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceTwitter');
@@ -231,6 +236,7 @@ function initDefaults() {
           disableTwitter: false,
           twitterRedirects: redirects,
           twitterProtocol: "normal",
+          twitterRedirectType: "both",
 
           nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
           nitterNormalCustomRedirects: [],
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index 26056d10..c03ca31c 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -307,17 +307,21 @@ function getCookiesFromStorage(frontend, urls, name) {
   browser.storage.local.get([key, 'firstPartyIsolate'], r => {
     const cookie = r[key];
     if (cookie === undefined) return;
-    let query;
-    if (!r.firstPartyIsolate) query = {
-      url: url, name: cookie.name, value: cookie.value, secure: true,
-      expirationDate: cookie.expirationDate,
-    };
-    else query = {
-      url: url, name: cookie.name, value: cookie.value, secure: true,
-      expirationDate: null,
-      firstPartyDomain: new URL(url).hostname,
+    for (const url of urls) {
+      let query =
+        r.firstPartyIsolate ?
+          {
+            url: url, name: cookie.name, value: cookie.value, secure: true,
+            expirationDate: null,
+            firstPartyDomain: new URL(url).hostname,
+          }
+          :
+          {
+            url: url, name: cookie.name, value: cookie.value, secure: true,
+            expirationDate: cookie.expirationDate,
+          };
+      browser.cookies.set(query)
     }
-    for (const url of urls) browser.cookies.set(query)
   })
 }
 
@@ -367,6 +371,7 @@ function unify(test) {
           let url;
           try { url = new URL(currTab.url); }
           catch { resolve(); return; }
+          if (currTab.incognito) { resolve(); return; }
 
           let result = await youtubeHelper.copyPasteInvidiousCookies(test, url);
           if (!result) result = await youtubeHelper.copyPastePipedLocalStorage(test, url, currTab.id);
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index 39b48e0a..a1916032 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -169,8 +169,8 @@ function redirect(url, details, initiator) {
   const sub_frame = details.type === "sub_frame";
 
   if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return; // Don't redirect YouTube Player API.
-  if (onlyEmbeddedVideo == 'onlyEmbedded' && !sub_frame) return;
-  if (onlyEmbeddedVideo == 'onlyNotEmbedded' && sub_frame) return;
+  if (onlyEmbeddedVideo == 'onlyEmbedded' && main_frame) return;
+  if (onlyEmbeddedVideo == 'onlyNotEmbedded' && !main_frame) return;
 
   if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return;