Merge pull request #2649 from mozilla/2263-always-open-in-container-bug
Remember choice for default containers in the "Always open in" confirm page
This commit is contained in:
@@ -165,11 +165,17 @@ window.assignManager = {
|
|||||||
_neverAsk(m) {
|
_neverAsk(m) {
|
||||||
const pageUrl = m.pageUrl;
|
const pageUrl = m.pageUrl;
|
||||||
if (m.neverAsk === true) {
|
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
|
// If we have existing data and for some reason it hasn't been
|
||||||
// deleted etc lets update it
|
// deleted etc lets update it
|
||||||
this.storageArea.get(pageUrl).then((siteSettings) => {
|
this.storageArea.get(pageUrl).then((siteSettings) => {
|
||||||
if (siteSettings) {
|
if (siteSettings) {
|
||||||
siteSettings.neverAsk = true;
|
siteSettings.neverAsk = true;
|
||||||
|
siteSettings.userContextId = backgroundLogic.getUserContextIdFromCookieStoreId(m.cookieStoreId);
|
||||||
this.storageArea.set(pageUrl, siteSettings);
|
this.storageArea.set(pageUrl, siteSettings);
|
||||||
}
|
}
|
||||||
}).catch((e) => {
|
}).catch((e) => {
|
||||||
|
|||||||
+20
-3
@@ -7,14 +7,16 @@ async function load() {
|
|||||||
redirectUrlElement.textContent = redirectUrl;
|
redirectUrlElement.textContent = redirectUrl;
|
||||||
appendFavicon(redirectUrl, redirectUrlElement);
|
appendFavicon(redirectUrl, redirectUrlElement);
|
||||||
|
|
||||||
|
// Option for staying on the previous container
|
||||||
document.getElementById("deny").addEventListener("click", (e) => {
|
document.getElementById("deny").addEventListener("click", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
denySubmit(redirectUrl);
|
denySubmit(redirectUrl, currentCookieStoreId);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Option for going to the default container (no container)
|
||||||
document.getElementById("deny-no-container").addEventListener("click", (e) => {
|
document.getElementById("deny-no-container").addEventListener("click", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
denySubmit(redirectUrl);
|
denySubmit(redirectUrl, currentCookieStoreId);
|
||||||
});
|
});
|
||||||
|
|
||||||
const container = await browser.contextualIdentities.get(cookieStoreId);
|
const container = await browser.contextualIdentities.get(cookieStoreId);
|
||||||
@@ -27,6 +29,7 @@ async function load() {
|
|||||||
el.textContent = browser.i18n.getMessage(elementData.messageId, containerName);
|
el.textContent = browser.i18n.getMessage(elementData.messageId, containerName);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Option for going to newly selected container
|
||||||
document.getElementById("confirm").addEventListener("click", (e) => {
|
document.getElementById("confirm").addEventListener("click", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
confirmSubmit(redirectUrl, cookieStoreId);
|
confirmSubmit(redirectUrl, cookieStoreId);
|
||||||
@@ -59,6 +62,7 @@ function confirmSubmit(redirectUrl, cookieStoreId) {
|
|||||||
browser.runtime.sendMessage({
|
browser.runtime.sendMessage({
|
||||||
method: "neverAsk",
|
method: "neverAsk",
|
||||||
neverAsk: true,
|
neverAsk: true,
|
||||||
|
cookieStoreId: cookieStoreId,
|
||||||
pageUrl: redirectUrl
|
pageUrl: redirectUrl
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -72,8 +76,21 @@ function getCurrentTab() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function denySubmit(redirectUrl) {
|
async function denySubmit(redirectUrl, currentCookieStoreId) {
|
||||||
const tab = await getCurrentTab();
|
const tab = await getCurrentTab();
|
||||||
|
const currentContainer = currentCookieStoreId ? await browser.contextualIdentities.get(currentCookieStoreId) : null;
|
||||||
|
const neverAsk = document.getElementById("never-ask").checked;
|
||||||
|
|
||||||
|
if (neverAsk) {
|
||||||
|
await browser.runtime.sendMessage({
|
||||||
|
method: "neverAsk",
|
||||||
|
neverAsk: true,
|
||||||
|
cookieStoreId: currentCookieStoreId,
|
||||||
|
pageUrl: redirectUrl,
|
||||||
|
defaultContainer: !currentContainer
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
await browser.runtime.sendMessage({
|
await browser.runtime.sendMessage({
|
||||||
method: "exemptContainerAssignment",
|
method: "exemptContainerAssignment",
|
||||||
tabId: tab[0].id,
|
tabId: tab[0].id,
|
||||||
|
|||||||
Reference in New Issue
Block a user