aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-06-19 19:10:32 +0300
committerManeraKai <manerakai@protonmail.com>2022-06-19 19:10:32 +0300
commit1c1c3cd4349535ec25d8cb98bea8dfcce65c30a6 (patch)
treeaa191452e4bbdb82605fa9ef4ed5bf511ee4f3ca
parentDisabled cookies for incognito for this release #291 #340 (diff)
downloadlibredirect-1c1c3cd4349535ec25d8cb98bea8dfcce65c30a6.zip
Added Twitter embed toggle #344
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/twitter.js10
-rw-r--r--src/assets/javascripts/youtube/youtube.js4
-rw-r--r--src/pages/background/background.js6
-rw-r--r--src/pages/options/index.html12
-rw-r--r--src/pages/options/widgets/general.js8
-rw-r--r--src/pages/options/widgets/twitter.js4
-rw-r--r--src/pages/options/widgets/twitter.pug7
7 files changed, 36 insertions, 15 deletions
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/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;
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 5b2924ae..5fef360a 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -59,7 +59,7 @@ browser.runtime.onInstalled.addListener(
});
})
};
- function initDefault(){
+ function initDefault() {
}
@@ -103,7 +103,7 @@ browser.webRequest.onBeforeRequest.addListener(
let newUrl = youtubeMusicHelper.redirect(url, details.type)
if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator)
- if (!newUrl) newUrl = twitterHelper.redirect(url, initiator);
+ if (!newUrl) newUrl = twitterHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = instagramHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = mapsHelper.redirect(url, initiator);
if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator);
@@ -160,7 +160,7 @@ browser.tabs.onRemoved.addListener(
browser.webRequest.onHeadersReceived.addListener(
e => {
let response = youtubeHelper.removeXFrameOptions(e);
- if (!response) response = twitterHelper.removeXFrameOptions(e);
+ if (!response) response = twitterHelper.removeXFrameOptions(e);
return response;
},
{ urls: ["<all_urls>"] },
diff --git a/src/pages/options/index.html b/src/pages/options/index.html
index 9e318512..2463c361 100644
--- a/src/pages/options/index.html
+++ b/src/pages/options/index.html
@@ -71,10 +71,6 @@
</select>
</div>
<div class="some-block option-block">
- <h4>Tor Browser</h4>
- <input id="firstPartyIsolate" type="checkbox">
- </div>
- <div class="some-block option-block">
<h4 data-localise="__MSG_autoRedirect__"></h4>
<input id="auto-redirect" type="checkbox">
</div>
@@ -525,6 +521,14 @@
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_redirectType__">Redirect Type</h4>
+ <select id="twitter-redirect_type">
+ <option value="both" data-localise="__MSG_both__">both</option>
+ <option value="sub_frame" data-localise="__MSG_onlyEmbedded__">Only Embedded</option>
+ <option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>
+ </select>
+ </div>
<div id="nitter">
<hr>
<div class="normal">
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 0daeb90e..04568aa5 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -180,20 +180,20 @@ for (const frontend of generalHelper.allPopupFrontends)
}
)
-const firstPartyIsolate = document.getElementById('firstPartyIsolate');
-firstPartyIsolate.addEventListener("change", () => browser.storage.local.set({ firstPartyIsolate: firstPartyIsolate.checked }))
+// const firstPartyIsolate = document.getElementById('firstPartyIsolate');
+// firstPartyIsolate.addEventListener("change", () => browser.storage.local.set({ firstPartyIsolate: firstPartyIsolate.checked }))
browser.storage.local.get(
[
'theme',
'autoRedirect',
'exceptions',
- 'firstPartyIsolate'
+ // 'firstPartyIsolate'
],
r => {
autoRedirectElement.checked = r.autoRedirect;
themeElement.value = r.theme;
- firstPartyIsolate.checked = r.firstPartyIsolate;
+ // firstPartyIsolate.checked = r.firstPartyIsolate;
instanceTypeElement.addEventListener("change",
event => {
diff --git a/src/pages/options/widgets/twitter.js b/src/pages/options/widgets/twitter.js
index 25356733..aff108c8 100644
--- a/src/pages/options/widgets/twitter.js
+++ b/src/pages/options/widgets/twitter.js
@@ -2,6 +2,7 @@ import utils from "../../../assets/javascripts/utils.js";
const enable = document.getElementById("twitter-enable");
const protocol = document.getElementById("twitter-protocol");
+const redirectType = document.getElementById("twitter-redirect_type");
const twitter = document.getElementById('twitter_page');
function changeProtocolSettings() {
@@ -21,10 +22,12 @@ browser.storage.local.get(
[
"disableTwitter",
"twitterProtocol",
+ "twitterRedirectType",
],
r => {
enable.checked = !r.disableTwitter;
protocol.value = r.twitterProtocol;
+ redirectType.value = r.twitterRedirectType;
changeProtocolSettings();
}
)
@@ -33,6 +36,7 @@ twitter.addEventListener("change", () => {
browser.storage.local.set({
disableTwitter: !enable.checked,
twitterProtocol: protocol.value,
+ twitterRedirectType: redirectType.value,
});
changeProtocolSettings();
})
diff --git a/src/pages/options/widgets/twitter.pug b/src/pages/options/widgets/twitter.pug
index 36835e8a..c2e949ca 100644
--- a/src/pages/options/widgets/twitter.pug
+++ b/src/pages/options/widgets/twitter.pug
@@ -12,6 +12,13 @@ section#twitter_page.option-block
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
+ .some-block.option-block
+ h4(data-localise="__MSG_redirectType__") Redirect Type
+ select#twitter-redirect_type
+ option(value="both" data-localise="__MSG_both__") both
+ option(value="sub_frame" data-localise="__MSG_onlyEmbedded__") Only Embedded
+ option(value="main_frame" data-localise="__MSG_onlyNotEmbedded__") Only Not Embedded
+
#nitter
hr
.normal