From 51645271a6a9004b59e405daa80298b5cbcbe00f Mon Sep 17 00:00:00 2001 From: Rafee Date: Tue, 23 Jul 2024 11:39:26 -0400 Subject: [PATCH] fix #2603: remember choice to always open in default containers --- src/js/background/assignManager.js | 5 +++++ src/js/confirm-page.js | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/js/background/assignManager.js b/src/js/background/assignManager.js index 1226cba4..c989046f 100644 --- a/src/js/background/assignManager.js +++ b/src/js/background/assignManager.js @@ -165,6 +165,11 @@ window.assignManager = { _neverAsk(m) { const pageUrl = m.pageUrl; if (m.neverAsk === true) { + if (m.defaultContainer === true) { + this.storageArea.remove(pageUrl); + return; + } + // If we have existing data and for some reason it hasn't been // deleted etc lets update it this.storageArea.get(pageUrl).then((siteSettings) => { diff --git a/src/js/confirm-page.js b/src/js/confirm-page.js index bb153a31..40e63131 100644 --- a/src/js/confirm-page.js +++ b/src/js/confirm-page.js @@ -9,12 +9,12 @@ async function load() { document.getElementById("deny").addEventListener("click", (e) => { e.preventDefault(); - denySubmit(redirectUrl); + denySubmit(redirectUrl, currentCookieStoreId) }); document.getElementById("deny-no-container").addEventListener("click", (e) => { e.preventDefault(); - denySubmit(redirectUrl); + denySubmit(redirectUrl, currentCookieStoreId) }); const container = await browser.contextualIdentities.get(cookieStoreId); @@ -72,8 +72,20 @@ function getCurrentTab() { }); } -async function denySubmit(redirectUrl) { +async function denySubmit(redirectUrl, currentCookieStoreId) { const tab = await getCurrentTab(); + const currentContainer = currentCookieStoreId ? await browser.contextualIdentities.get(currentCookieStoreId) : null; + const neverAsk = document.getElementById("never-ask").checked; + + if (neverAsk && !currentContainer) { + await browser.runtime.sendMessage({ + method: "neverAsk", + neverAsk: true, + defaultContainer: true, + pageUrl: redirectUrl + }); + } + await browser.runtime.sendMessage({ method: "exemptContainerAssignment", tabId: tab[0].id,