Skip to content

Commit c5cd80d

Browse files
committed
Fixed bugs in the context menus
1 parent abe83d3 commit c5cd80d

File tree

2 files changed

+46
-27
lines changed

2 files changed

+46
-27
lines changed

src/assets/javascripts/services.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,17 @@ async function copyRaw(url, test) {
807807
const newUrl = await reverse(url)
808808
if (newUrl) {
809809
if (!test) {
810-
navigator.clipboard.writeText(newUrl)
810+
if (!window.chrome) {
811+
navigator.clipboard.writeText(newUrl)
812+
} else {
813+
var copyFrom = document.createElement("textarea");
814+
copyFrom.textContent = newUrl;
815+
document.body.appendChild(copyFrom);
816+
copyFrom.select()
817+
document.execCommand('copy')
818+
copyFrom.blur();
819+
document.body.removeChild(copyFrom);
820+
}
811821
}
812822
return newUrl
813823
}

src/pages/background/background.js

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ let tabIdRedirects = {}
3131
// true == Always redirect, false == Never redirect, null/undefined == follow options for services
3232
browser.webRequest.onBeforeRequest.addListener(
3333
details => {
34-
console.log(details.url)
3534
const url = new URL(details.url)
3635
if (new RegExp(/^chrome-extension:\/{2}.*\/instances\/.*.json$/).test(url.href) && details.type == "xmlhttprequest") return
3736
let initiator
@@ -93,20 +92,20 @@ browser.commands.onCommand.addListener(async command => {
9392
})
9493

9594
browser.contextMenus.create({
96-
id: "settings",
95+
id: "settingsTab",
9796
title: browser.i18n.getMessage("settings"),
9897
contexts: ["browser_action"],
9998
})
10099

101100
browser.contextMenus.create({
102-
id: "switchInstance",
101+
id: "switchInstanceTab",
103102
title: browser.i18n.getMessage("switchInstance"),
104103
contexts: ["browser_action"],
105104
})
106105

107106
browser.contextMenus.create({
108-
id: "copyReverse",
109-
title: 'Copy reverse',
107+
id: "copyReverseTab",
108+
title: 'Copy Original',
110109
contexts: ["browser_action"],
111110
})
112111

@@ -118,7 +117,7 @@ browser.contextMenus.create({
118117

119118
browser.contextMenus.create({
120119
id: "reverseTab",
121-
title: 'Reverse redirect',
120+
title: 'Redirect To Original',
122121
contexts: ["browser_action"],
123122
})
124123

@@ -130,13 +129,13 @@ browser.contextMenus.create({
130129

131130
browser.contextMenus.create({
132131
id: "reverseLink",
133-
title: 'Reverse redirect',
132+
title: 'Redirect To Original',
134133
contexts: ["link"],
135134
})
136135

137136
browser.contextMenus.create({
138137
id: "copyReverseLink",
139-
title: 'Copy Reverse',
138+
title: 'Copy Original',
140139
contexts: ["link"],
141140
})
142141

@@ -162,48 +161,58 @@ if (!window.chrome) {
162161

163162

164163
browser.contextMenus.onClicked.addListener(async (info) => {
164+
console.log(info)
165165
switch (info.menuItemId) {
166-
case 'switchInstance': {
166+
case 'switchInstanceTab': {
167167
const url = new URL(info.pageUrl)
168168
const newUrl = await servicesHelper.switchInstance(url)
169169
if (newUrl) {
170170
browser.tabs.update({ url: newUrl })
171171
}
172172
return
173173
}
174-
case 'settings': {
174+
case 'settingsTab': {
175175
browser.runtime.openOptionsPage()
176176
return
177177
}
178-
case 'copyReverse': {
178+
case 'copyReverseTab': {
179179
const url = new URL(info.pageUrl)
180180
servicesHelper.copyRaw(url)
181181
return
182182
}
183183
case 'reverseTab': {
184-
const url = new URL(info.pageUrl)
185-
const newUrl = await servicesHelper.reverse(url)
186-
if (newUrl) {
187-
browser.tabs.create({ url: newUrl }, tab => {
188-
tabIdRedirects[tab.id] = false
189-
})
190-
}
184+
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
185+
if (tabs[0].url) {
186+
const url = new URL(tabs[0].url)
187+
const newUrl = await servicesHelper.reverse(url)
188+
if (newUrl) {
189+
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
190+
tabIdRedirects[tabs[0].id] = false
191+
})
192+
}
193+
}
194+
})
191195
return
192196
}
193197
case 'redirectTab': {
194-
const url = new URL(info.pageUrl)
195-
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
196-
if (newUrl) {
197-
browser.tabs.create({ url: newUrl }, tab => {
198-
tabIdRedirects[tab.id] = false
199-
})
200-
}
198+
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
199+
if (tabs[0].url) {
200+
const url = new URL(tabs[0].url)
201+
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
202+
if (newUrl) {
203+
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
204+
tabIdRedirects[tabs[0].id] = true
205+
})
206+
}
207+
}
208+
})
201209
return
202210
}
203211

204212
case 'copyReverseLink': {
205213
const url = new URL(info.linkUrl)
206-
servicesHelper.copyRaw(url)
214+
console.log(url)
215+
await servicesHelper.copyRaw(url)
207216
return
208217
}
209218
case 'redirectLink': {

0 commit comments

Comments
 (0)