open usercss installer tab next to the source tab

This commit is contained in:
tophf 2017-10-01 15:34:29 +03:00
parent 95be66cb61
commit 3c08342e98
3 changed files with 10 additions and 6 deletions

View File

@ -324,7 +324,7 @@ function onRuntimeMessage(request, sender, sendResponse) {
return KEEP_CHANNEL_OPEN; return KEEP_CHANNEL_OPEN;
case 'openUsercssInstallPage': case 'openUsercssInstallPage':
usercssHelper.openInstallPage(sender.tab.id, request).then(sendResponse); usercssHelper.openInstallPage(sender.tab, request).then(sendResponse);
return KEEP_CHANNEL_OPEN; return KEEP_CHANNEL_OPEN;
case 'closeTab': case 'closeTab':

View File

@ -78,11 +78,15 @@ var usercssHelper = (() => {
); );
} }
function openInstallPage(tabId, request) { function openInstallPage(tab, request) {
const url = '/install-usercss.html' + const url = '/install-usercss.html' +
'?updateUrl=' + encodeURIComponent(request.updateUrl) + '?updateUrl=' + encodeURIComponent(request.updateUrl) +
'&tabId=' + tabId; '&tabId=' + tab.id;
return wrapReject(openURL({url})); return wrapReject(openURL({
url,
index: tab.index + 1,
openerTabId: tab.id,
}));
} }
return {build, save, findDup, openInstallPage}; return {build, save, findDup, openInstallPage};

View File

@ -180,7 +180,7 @@ function getTabRealURL(tab) {
// opens a tab or activates the already opened one, // opens a tab or activates the already opened one,
// reuses the New Tab page if it's focused now // reuses the New Tab page if it's focused now
function openURL({url, currentWindow = true}) { function openURL({url, index, openerTabId, currentWindow = true}) {
if (!url.includes('://')) { if (!url.includes('://')) {
url = chrome.runtime.getURL(url); url = chrome.runtime.getURL(url);
} }
@ -204,7 +204,7 @@ function openURL({url, currentWindow = true}) {
chrome.tabs.update({url}, resolve); chrome.tabs.update({url}, resolve);
} else { } else {
// create a new tab // create a new tab
const options = {url}; const options = {url, index};
if (tab && (!FIREFOX || FIREFOX >= 57) && !chromeInIncognito) { if (tab && (!FIREFOX || FIREFOX >= 57) && !chromeInIncognito) {
options.openerTabId = tab.id; options.openerTabId = tab.id;
} }