Fix #2747: open/reopen container tabs in tab groups when appropriate
Firefox 137 introduced tab groups. Tab group web extension support is rolling out in Firefox 138 and later. Creating a new tab after the last tab in a tab group can inadvertently create the new tab outside of the tab group. When a user opens a new tab that should be in a container, this patch will make sure that the new tab resides in the same tab group as the original tab.
This commit is contained in:
+17
-3
@@ -94,6 +94,9 @@ const Utils = {
|
||||
return result.join("");
|
||||
},
|
||||
|
||||
/**
|
||||
* @returns {Promise<Tab|false>}
|
||||
*/
|
||||
async currentTab() {
|
||||
const activeTabs = await browser.tabs.query({ active: true, windowId: browser.windows.WINDOW_ID_CURRENT });
|
||||
if (activeTabs.length > 0) {
|
||||
@@ -146,14 +149,24 @@ const Utils = {
|
||||
});
|
||||
},
|
||||
|
||||
async reloadInContainer(url, currentUserContextId, newUserContextId, tabIndex, active) {
|
||||
/**
|
||||
* @param {string} url
|
||||
* @param {string} currentUserContextId
|
||||
* @param {string} newUserContextId
|
||||
* @param {number} tabIndex
|
||||
* @param {boolean} active
|
||||
* @param {number} [groupId]
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
async reloadInContainer(url, currentUserContextId, newUserContextId, tabIndex, active, groupId = undefined) {
|
||||
return await browser.runtime.sendMessage({
|
||||
method: "reloadInContainer",
|
||||
url,
|
||||
currentUserContextId,
|
||||
newUserContextId,
|
||||
tabIndex,
|
||||
active
|
||||
active,
|
||||
groupId
|
||||
});
|
||||
},
|
||||
|
||||
@@ -167,7 +180,8 @@ const Utils = {
|
||||
currentUserContextId: false,
|
||||
newUserContextId: assignedUserContextId,
|
||||
tabIndex: currentTab.index +1,
|
||||
active:currentTab.active
|
||||
active: currentTab.active,
|
||||
groupId: currentTab.groupId
|
||||
});
|
||||
}
|
||||
await Utils.setOrRemoveAssignment(
|
||||
|
||||
Reference in New Issue
Block a user