diff --git a/src/ContextualIdentity/__tests__/ContextualIdentity.spec.js b/src/ContextualIdentity/__tests__/ContextualIdentity.spec.js
index ce38b40..7c3f3ee 100644
--- a/src/ContextualIdentity/__tests__/ContextualIdentity.spec.js
+++ b/src/ContextualIdentity/__tests__/ContextualIdentity.spec.js
@@ -48,7 +48,7 @@ describe('ContextualIdentities', () => {
iconUrl: 'resource://usercontext-content/circle.svg',
color: 'grey',
colorCode: '#999',
- cookieStoreId: 'no-container',
+ cookieStoreId: 'firefox-default',
}]);
});
});
diff --git a/src/ContextualIdentity/index.js b/src/ContextualIdentity/index.js
index b129750..6a10e55 100644
--- a/src/ContextualIdentity/index.js
+++ b/src/ContextualIdentity/index.js
@@ -4,7 +4,7 @@ export const NO_CONTAINER = {
iconUrl: 'resource://usercontext-content/circle.svg',
color: 'grey',
colorCode: '#999',
- cookieStoreId: 'no-container',
+ cookieStoreId: 'firefox-default',
};
class ContextualIdentities {
diff --git a/src/ui/index.html b/src/ui/index.html
index 2070386..26fe5b1 100644
--- a/src/ui/index.html
+++ b/src/ui/index.html
@@ -38,7 +38,8 @@
Use this add/remove/backup multiple entries.
- e.g. host , container name
+ e.g. host , container name
+ default , Default Container
diff --git a/src/webRequestListener.js b/src/webRequestListener.js
index 3b97ac7..a9cef83 100644
--- a/src/webRequestListener.js
+++ b/src/webRequestListener.js
@@ -1,5 +1,5 @@
import Storage from './Storage/index';
-import ContextualIdentity, {NO_CONTAINER} from './ContextualIdentity';
+import ContextualIdentity from './ContextualIdentity';
import Tabs from './Tabs';
const createTab = (url, newTabIndex, currentTabId, cookieStoreId) => {
@@ -29,28 +29,25 @@ export const webRequestListener = (requestDetails) => {
Storage.get(hostname),
ContextualIdentity.getAll(),
Tabs.get(requestDetails.tabId),
- ]).then(([hostMap, identities, currentTab]) => {
+ Storage.get('default'),
+ ]).then(([hostMap, identities, currentTab, defaultContainer]) => {
if (currentTab.incognito || !hostMap) {
return {};
}
const hostIdentity = identities.find((identity) => identity.cookieStoreId === hostMap.cookieStoreId);
- const tabIdentity = identities.find((identity) => identity.cookieStoreId === currentTab.cookieStoreId);
+ const defaultIdentity = identities.find((identity) => identity.cookieStoreId === defaultContainer.cookieStoreId);
- if (!hostIdentity) {
- return {};
- }
+ let newContainer;
- if (hostIdentity.cookieStoreId === NO_CONTAINER.cookieStoreId && tabIdentity) {
- return createTab(requestDetails.url, currentTab.index + 1, currentTab.id);
+ if (!hostIdentity && defaultIdentity && currentTab.cookieStoreId !== defaultContainer.cookieStoreId) {
+ newContainer = defaultContainer.cookieStoreId;
+ } else if (hostIdentity && hostIdentity.cookieStoreId !== currentTab.cookieStoreId) {
+ newContainer = hostIdentity.cookieStoreId;
}
- if (hostIdentity.cookieStoreId !== currentTab.cookieStoreId && hostIdentity.cookieStoreId !== NO_CONTAINER.cookieStoreId) {
- return createTab(requestDetails.url, currentTab.index + 1, currentTab.id, hostIdentity.cookieStoreId);
- }
-
- return {};
+ return !newContainer ? {} : createTab(requestDetails.url, currentTab.index + 1, currentTab.id, newContainer);
});
};