about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-03-05 19:35:14 +0300
committerManeraKai <manerakai@protonmail.com>2023-03-05 19:35:14 +0300
commitc5cd80da597a3e14a704c6d17d4e3e5e1b219dec (patch)
tree6bf9ac8ce92413c6828f69215a008d25f3067838 /src/pages
parentMerge https://github.com/libredirect/libredirect (diff)
downloadlibredirect-c5cd80da597a3e14a704c6d17d4e3e5e1b219dec.zip
Fixed bugs in the context menus
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js61
1 files changed, 35 insertions, 26 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index f346acf1..08f4fe9d 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -31,7 +31,6 @@ let tabIdRedirects = {}
 // true == Always redirect, false == Never redirect, null/undefined == follow options for services
 browser.webRequest.onBeforeRequest.addListener(
 	details => {
-		console.log(details.url)
 		const url = new URL(details.url)
 		if (new RegExp(/^chrome-extension:\/{2}.*\/instances\/.*.json$/).test(url.href) && details.type == "xmlhttprequest") return
 		let initiator
@@ -93,20 +92,20 @@ browser.commands.onCommand.addListener(async command => {
 })
 
 browser.contextMenus.create({
-	id: "settings",
+	id: "settingsTab",
 	title: browser.i18n.getMessage("settings"),
 	contexts: ["browser_action"],
 })
 
 browser.contextMenus.create({
-	id: "switchInstance",
+	id: "switchInstanceTab",
 	title: browser.i18n.getMessage("switchInstance"),
 	contexts: ["browser_action"],
 })
 
 browser.contextMenus.create({
-	id: "copyReverse",
-	title: 'Copy reverse',
+	id: "copyReverseTab",
+	title: 'Copy Original',
 	contexts: ["browser_action"],
 })
 
@@ -118,7 +117,7 @@ browser.contextMenus.create({
 
 browser.contextMenus.create({
 	id: "reverseTab",
-	title: 'Reverse redirect',
+	title: 'Redirect To Original',
 	contexts: ["browser_action"],
 })
 
@@ -130,13 +129,13 @@ browser.contextMenus.create({
 
 browser.contextMenus.create({
 	id: "reverseLink",
-	title: 'Reverse redirect',
+	title: 'Redirect To Original',
 	contexts: ["link"],
 })
 
 browser.contextMenus.create({
 	id: "copyReverseLink",
-	title: 'Copy Reverse',
+	title: 'Copy Original',
 	contexts: ["link"],
 })
 
@@ -162,8 +161,9 @@ if (!window.chrome) {
 
 
 browser.contextMenus.onClicked.addListener(async (info) => {
+	console.log(info)
 	switch (info.menuItemId) {
-		case 'switchInstance': {
+		case 'switchInstanceTab': {
 			const url = new URL(info.pageUrl)
 			const newUrl = await servicesHelper.switchInstance(url)
 			if (newUrl) {
@@ -171,39 +171,48 @@ browser.contextMenus.onClicked.addListener(async (info) => {
 			}
 			return
 		}
-		case 'settings': {
+		case 'settingsTab': {
 			browser.runtime.openOptionsPage()
 			return
 		}
-		case 'copyReverse': {
+		case 'copyReverseTab': {
 			const url = new URL(info.pageUrl)
 			servicesHelper.copyRaw(url)
 			return
 		}
 		case 'reverseTab': {
-			const url = new URL(info.pageUrl)
-			const newUrl = await servicesHelper.reverse(url)
-			if (newUrl) {
-				browser.tabs.create({ url: newUrl }, tab => {
-					tabIdRedirects[tab.id] = false
-				})
-			}
+			browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
+				if (tabs[0].url) {
+					const url = new URL(tabs[0].url)
+					const newUrl = await servicesHelper.reverse(url)
+					if (newUrl) {
+						browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
+							tabIdRedirects[tabs[0].id] = false
+						})
+					}
+				}
+			})
 			return
 		}
 		case 'redirectTab': {
-			const url = new URL(info.pageUrl)
-			const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
-			if (newUrl) {
-				browser.tabs.create({ url: newUrl }, tab => {
-					tabIdRedirects[tab.id] = false
-				})
-			}
+			browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
+				if (tabs[0].url) {
+					const url = new URL(tabs[0].url)
+					const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
+					if (newUrl) {
+						browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
+							tabIdRedirects[tabs[0].id] = true
+						})
+					}
+				}
+			})
 			return
 		}
 
 		case 'copyReverseLink': {
 			const url = new URL(info.linkUrl)
-			servicesHelper.copyRaw(url)
+			console.log(url)
+			await servicesHelper.copyRaw(url)
 			return
 		}
 		case 'redirectLink': {