added uuids to contextualIdentities within MAC for comparison with other browsers
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
/* jshint esversion: 8*/
|
||||
const identityState = {
|
||||
storageArea: {
|
||||
area: browser.storage.local,
|
||||
@@ -36,6 +37,19 @@ const identityState = {
|
||||
return Object.assign({}, tab);
|
||||
},
|
||||
|
||||
async getCookieStoreIDuuidMap() {
|
||||
const containers = {};
|
||||
const containerInfo = await identityState.storageArea.area.get();
|
||||
for(const key of Object.keys(containerInfo)) {
|
||||
if (key.includes("identitiesState@@_")) {
|
||||
const container = containerInfo[key];
|
||||
const cookieStoreId = key.replace(/^identitiesState@@_/, "");
|
||||
containers[cookieStoreId] = container.macUUID;
|
||||
}
|
||||
}
|
||||
return containers;
|
||||
},
|
||||
|
||||
async storeHidden(cookieStoreId, windowId) {
|
||||
const containerState = await this.storageArea.get(cookieStoreId);
|
||||
const tabsByContainer = await browser.tabs.query({cookieStoreId, windowId});
|
||||
@@ -53,10 +67,26 @@ const identityState = {
|
||||
|
||||
return this.storageArea.set(cookieStoreId, containerState);
|
||||
},
|
||||
async updateUUID(cookieStoreId, uuid) {
|
||||
const containerState = await this.storageArea.get(cookieStoreId);
|
||||
containerState.macUUID = uuid;
|
||||
return this.storageArea.set(cookieStoreId, containerState);
|
||||
},
|
||||
async addUUID(cookieStoreId) {
|
||||
return this.updateUUID(cookieStoreId, uuidv4());
|
||||
},
|
||||
|
||||
_createIdentityState() {
|
||||
return {
|
||||
hiddenTabs: []
|
||||
hiddenTabs: [],
|
||||
macUUID: uuidv4()
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
function uuidv4() {
|
||||
// https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
|
||||
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
|
||||
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user