diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-01-28 00:23:47 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-01-28 00:23:47 +0300 |
commit | 05453901f2b9423942d7c360a9c21ac69caca219 (patch) | |
tree | 9be558a71154b27136de0a9a566678385faf2674 | |
parent | Added firefox addons extension link (diff) | |
download | libredirect-05453901f2b9423942d7c360a9c21ac69caca219.zip |
Hiding pageAction btn when not in instances
-rw-r--r-- | package.json | 4 | ||||
-rw-r--r-- | src/manifest.json | 3 | ||||
-rw-r--r-- | src/pages/background/background.js | 22 |
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) => { |