aboutsummaryrefslogtreecommitdiffstats
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
parentMerge https://github.com/libredirect/libredirect (diff)
downloadlibredirect-c5cd80da597a3e14a704c6d17d4e3e5e1b219dec.zip
Fixed bugs in the context menus
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/services.js12
-rw-r--r--src/pages/background/background.js61
2 files changed, 46 insertions, 27 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index c536851d..224dcd76 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -807,7 +807,17 @@ async function copyRaw(url, test) {
const newUrl = await reverse(url)
if (newUrl) {
if (!test) {
- navigator.clipboard.writeText(newUrl)
+ if (!window.chrome) {
+ navigator.clipboard.writeText(newUrl)
+ } else {
+ var copyFrom = document.createElement("textarea");
+ copyFrom.textContent = newUrl;
+ document.body.appendChild(copyFrom);
+ copyFrom.select()
+ document.execCommand('copy')
+ copyFrom.blur();
+ document.body.removeChild(copyFrom);
+ }
}
return newUrl
}
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': {