aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-01-28 00:23:47 +0300
committerManeraKai <manerakai@protonmail.com>2022-01-28 00:23:47 +0300
commit05453901f2b9423942d7c360a9c21ac69caca219 (patch)
tree9be558a71154b27136de0a9a566678385faf2674
parentAdded firefox addons extension link (diff)
downloadlibredirect-05453901f2b9423942d7c360a9c21ac69caca219.zip
Hiding pageAction btn when not in instances
-rw-r--r--package.json4
-rw-r--r--src/manifest.json3
-rw-r--r--src/pages/background/background.js22
3 files changed, 20 insertions, 9 deletions
diff --git a/package.json b/package.json
index 9ef8b667..a56be735 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
- "name": "LibRedirect",
- "description": "Redirects Twitter, YouTube, Instagram and more to privacy friendly alternatives.",
+ "name": "libredirect",
+ "description": "Redirects YouTube, Twitter, Instagram and more to privacy friendly frontends.",
"engines": {
"node": ">=10.0.0",
"npm": ">=5.6.0"
diff --git a/src/manifest.json b/src/manifest.json
index 4ea3fea1..0edce604 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -22,9 +22,6 @@
"<all_urls>"
],
"page_action": {
- "show_matches": [
- "<all_urls>"
- ],
"default_title": "Change Instance",
"default_icon": {
"16": "assets/images/libredirect.svg",
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index dbedd1b2..3f710994 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -547,8 +547,7 @@ function redirectMedium(url, initiator) {
});
return null;
}
- return `${
- scribeInstance || commonHelper.getRandomInstance(scribeRandomPool)
+ return `${scribeInstance || commonHelper.getRandomInstance(scribeRandomPool)
}${url.pathname}${url.search}`;
}
@@ -616,8 +615,8 @@ function redirectWikipedia(url, initiator) {
else return null;
}
-
-
+var tabList = []
+var redirecting = false;
browser.webRequest.onBeforeRequest.addListener(
(details) => {
const url = new URL(details.url);
@@ -674,6 +673,10 @@ browser.webRequest.onBeforeRequest.addListener(
};
}
if (redirect && redirect.redirectUrl) {
+ redirecting = true;
+ if (!tabList.includes(details.tabId))
+ tabList.push(details.tabId);
+
console.info(
"Redirecting",
`"${url.href}"`,
@@ -681,6 +684,9 @@ browser.webRequest.onBeforeRequest.addListener(
`"${redirect.redirectUrl}"`
);
console.info("Details", details);
+ } else {
+ if (!redirecting)
+ tabList = tabList.filter((val) => val != details.tabId);
}
return redirect;
},
@@ -690,6 +696,14 @@ browser.webRequest.onBeforeRequest.addListener(
["blocking"]
);
+browser.tabs.onUpdated.addListener((tabId, _, __) => {
+ if (tabList.includes(tabId))
+ browser.pageAction.show(tabId);
+})
+
+browser.webRequest.onCompleted.addListener(() => {
+ redirecting = false;
+}, { urls: ["<all_urls>"] });
browser.runtime.onInstalled.addListener((details) => {