Skip to content

Commit 8e0898b

Browse files
author
RustomDuck
committed
Added In New Tab options for context menus libredirect/browser_extension#675
1 parent 5520fa8 commit 8e0898b

File tree

2 files changed

+39
-15
lines changed

2 files changed

+39
-15
lines changed

src/assets/javascripts/services.js

-3
Original file line numberDiff line numberDiff line change
@@ -774,9 +774,6 @@ function initDefaults() {
774774
function upgradeOptions() {
775775
return new Promise(async resolve => {
776776
let options = await utils.getOptions()
777-
const config = await utils.getConfig()
778-
779-
options.fetchInstances = 'github'
780777

781778
browser.storage.local.clear(() => {
782779
browser.storage.local.set({ options }, () => {

src/pages/background/background.js

+39-12
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,16 @@ browser.contextMenus.create({ id: "redirectTab", title: 'Redirect', contexts: ["
107107
browser.contextMenus.create({ id: "reverseTab", title: 'Redirect To Original', contexts: ["browser_action"] })
108108

109109
browser.contextMenus.create({ id: "redirectLink", title: 'Redirect', contexts: ["link"] })
110+
browser.contextMenus.create({ id: "redirectLinkInNewTab", title: 'Redirect In New Tab', contexts: ["link"] })
110111
browser.contextMenus.create({ id: "reverseLink", title: 'Redirect To Original', contexts: ["link"] })
112+
browser.contextMenus.create({ id: "reverseLinkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["link"] })
111113
browser.contextMenus.create({ id: "copyReverseLink", title: 'Copy Original', contexts: ["link"] })
112114

113115
if (!isChrome) {
114116
browser.contextMenus.create({ id: "redirectBookmark", title: 'Redirect', contexts: ["bookmark"] })
117+
browser.contextMenus.create({ id: "redirectBookmarkInNewTab", title: 'Redirect In New Tab', contexts: ["bookmark"] })
115118
browser.contextMenus.create({ id: "reverseBookmark", title: 'Redirect To Original', contexts: ["bookmark"] })
119+
browser.contextMenus.create({ id: "reverseBookmarkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["bookmark"] })
116120
browser.contextMenus.create({ id: "copyReverseBookmark", title: 'Copy Original', contexts: ["bookmark"] })
117121
}
118122

@@ -175,19 +179,30 @@ browser.contextMenus.onClicked.addListener(async (info) => {
175179
await servicesHelper.copyRaw(url)
176180
return
177181
}
178-
case 'redirectLink': {
182+
case 'redirectLink':
183+
case 'redirectLinkInNewTab': {
179184
const url = new URL(info.linkUrl)
180185
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
181-
if (newUrl) browser.tabs.create({ url: newUrl })
186+
if (newUrl) {
187+
if (info.menuItemId == "redirectLink") browser.tabs.update({ url: newUrl })
188+
else browser.tabs.create({ url: newUrl })
189+
}
182190
return
183191
}
184-
case 'reverseLink': {
192+
case 'reverseLink':
193+
case 'reverseLinkInNewTab': {
185194
const url = new URL(info.linkUrl)
186195
const newUrl = await servicesHelper.reverse(url)
187196
if (newUrl) {
188-
browser.tabs.create({ url: newUrl }, tab => {
189-
tabIdRedirects[tab.id] = false
190-
})
197+
if (info.menuItemId == "reverseLink") {
198+
browser.tabs.update({ url: newUrl }, tab => {
199+
tabIdRedirects[tab.id] = false
200+
})
201+
} else {
202+
browser.tabs.create({ url: newUrl }, tab => {
203+
tabIdRedirects[tab.id] = false
204+
})
205+
}
191206
}
192207
return
193208
}
@@ -199,22 +214,34 @@ browser.contextMenus.onClicked.addListener(async (info) => {
199214
});
200215
return
201216
}
202-
case 'redirectBookmark': {
217+
case 'redirectBookmark':
218+
case 'redirectBookmarkInNewTab': {
203219
browser.bookmarks.get(info.bookmarkId, bookmarks => {
204220
const url = new URL(bookmarks[0].url)
205221
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
206-
if (newUrl) browser.tabs.create({ url: newUrl })
222+
if (newUrl) {
223+
if (info.menuItemId == 'redirectBookmark') browser.tabs.update({ url: newUrl })
224+
else browser.tabs.create({ url: newUrl })
225+
}
207226
})
227+
208228
return
209229
}
210-
case 'reverseBookmark': {
230+
case 'reverseBookmark':
231+
case 'reverseBookmarkInNewTab': {
211232
browser.bookmarks.get(info.bookmarkId, async bookmarks => {
212233
const url = new URL(bookmarks[0].url)
213234
const newUrl = await servicesHelper.reverse(url)
214235
if (newUrl) {
215-
browser.tabs.create({ url: newUrl }, tab => {
216-
tabIdRedirects[tab.id] = false
217-
})
236+
if (info.menuItemId == "reverseBookmark") {
237+
browser.tabs.update({ url: newUrl }, tab => {
238+
tabIdRedirects[tab.id] = false
239+
})
240+
} else {
241+
browser.tabs.create({ url: newUrl }, tab => {
242+
tabIdRedirects[tab.id] = false
243+
})
244+
}
218245
}
219246
})
220247
return

0 commit comments

Comments
 (0)