diff --git a/src/js/background/assignManager.js b/src/js/background/assignManager.js index 861b928..9dd6e88 100644 --- a/src/js/background/assignManager.js +++ b/src/js/background/assignManager.js @@ -474,7 +474,6 @@ window.assignManager = { }, async _setOrRemoveAssignment(tabId, pageUrl, userContextId, remove) { - console.log(userContextId) let actionName; // https://github.com/mozilla/testpilot-containers/issues/626 diff --git a/src/js/pageAction.js b/src/js/pageAction.js index 74f670e..0a58c46 100644 --- a/src/js/pageAction.js +++ b/src/js/pageAction.js @@ -22,21 +22,7 @@ async function init() { tr.appendChild(td); Utils.addEnterHandler(tr, async () => { - const currentTab = await Utils.currentTab(); - const assignedUserContextId = Utils.userContextId(identity.cookieStoreId); - Utils.setOrRemoveAssignment( - currentTab.id, - currentTab.url, - assignedUserContextId, - false - ); - Utils.reloadInContainer( - currentTab.url, - false, - assignedUserContextId, - currentTab.index + 1, - currentTab.active - ); + Utils.alwaysOpenInContainer(identity); window.close(); }); }); diff --git a/src/js/popup.js b/src/js/popup.js index 3fa322e..c3a7cd2 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -684,8 +684,6 @@ Logic.registerPanel(P_CONTAINER_INFO, { // This method is called when the object is registered. async initialize() { const closeContEl = document.querySelector("#close-container-info-panel"); - closeContEl.setAttribute("tabindex", "0"); - closeContEl.classList.add("firstTabindex"); Utils.addEnterHandler(closeContEl, () => { Logic.showPreviousPanel(); }); @@ -721,7 +719,12 @@ Logic.registerPanel(P_CONTAINER_INFO, { // Populating the panel: name and icon document.getElementById("container-info-title").textContent = identity.name; - + + const alwaysOpen = document.querySelector("#always-open-in-info-panel"); + Utils.addEnterHandler(alwaysOpen, async () => { + Utils.alwaysOpenInContainer(identity); + window.close(); + }); // Show or not the has-tabs section. for (let trHasTabs of document.getElementsByClassName("container-info-has-tabs")) { // eslint-disable-line prefer-const trHasTabs.style.display = !identity.hasHiddenTabs && !identity.hasOpenTabs ? "none" : ""; @@ -838,7 +841,6 @@ Logic.registerPanel(P_CONTAINER_PICKER, { pickedFunction = async function (identity) { const currentTab = await Utils.currentTab(); const newUserContextId = Utils.userContextId(identity.cookieStoreId); - console.log(currentTab); Utils.reloadInContainer( currentTab.url, false, @@ -853,14 +855,7 @@ Logic.registerPanel(P_CONTAINER_PICKER, { default: document.getElementById("picker-title").textContent = "Always Open This Site in"; pickedFunction = async function (identity) { - const currentTab = await Utils.currentTab(); - const assignedUserContextId = Utils.userContextId(identity.cookieStoreId); - Utils.setOrRemoveAssignment( - currentTab.id, - currentTab.url, - assignedUserContextId, - false - ); + Utils.alwaysOpenInContainer(identity); window.close(); }; break; diff --git a/src/js/utils.js b/src/js/utils.js index be7eb49..65480f3 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -99,6 +99,26 @@ const Utils = { tabIndex, active }); + }, + + async alwaysOpenInContainer(identity) { + const currentTab = await this.currentTab(); + const assignedUserContextId = this.userContextId(identity.cookieStoreId); + Utils.setOrRemoveAssignment( + currentTab.id, + currentTab.url, + assignedUserContextId, + false + ); + if (currentTab.cookieStoreId !== identity.cookieStoreId) { + Utils.reloadInContainer( + currentTab.url, + false, + assignedUserContextId, + currentTab.index + 1, + currentTab.active + ); + } } }; diff --git a/src/pageActionPopup.html b/src/pageActionPopup.html index 2449ff2..999218e 100644 --- a/src/pageActionPopup.html +++ b/src/pageActionPopup.html @@ -9,7 +9,7 @@
|