mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-03 12:06:31 +02:00
separate persistent random numbers for incognito windows
This commit is contained in:
parent
7f1fe0ed1c
commit
9b18631768
6 changed files with 61 additions and 18 deletions
|
@ -80,7 +80,11 @@
|
|||
var persistentRnd = Object.create(null);
|
||||
settings.onloaded(function(){
|
||||
try {
|
||||
let storedData = JSON.parse(settings.persistentRndStorage);
|
||||
let storedData = JSON.parse(
|
||||
browser.extension.inIncognitoContext?
|
||||
settings.persistentIncognitoRndStorage:
|
||||
settings.persistentRndStorage
|
||||
);
|
||||
for (var domain in storedData){
|
||||
var value = storedData[domain];
|
||||
if (
|
||||
|
@ -102,8 +106,10 @@
|
|||
|
||||
browser.runtime.onMessage.addListener(function(data){
|
||||
if (data["canvasBlocker-set-domain-rnd"]){
|
||||
var {domain, rnd} = data["canvasBlocker-set-domain-rnd"];
|
||||
persistentRnd[domain] = new Uint8Array(rnd);
|
||||
var {domain, incognito, rnd} = data["canvasBlocker-set-domain-rnd"];
|
||||
if (incognito === browser.extension.inIncognitoContext){
|
||||
persistentRnd[domain] = new Uint8Array(rnd);
|
||||
}
|
||||
}
|
||||
if (data["canvasBlocker-clear-domain-rnd"]){
|
||||
persistentRnd = Object.create(null);
|
||||
|
@ -117,7 +123,11 @@
|
|||
persistentRnd[domain] = new Uint8Array(128);
|
||||
window.crypto.getRandomValues(persistentRnd[domain]);
|
||||
browser.runtime.sendMessage({
|
||||
"canvasBlocker-new-domain-rnd": {domain, rnd: Array.from(persistentRnd[domain])}
|
||||
"canvasBlocker-new-domain-rnd": {
|
||||
domain,
|
||||
incognito: browser.extension.inIncognitoContext,
|
||||
rnd: Array.from(persistentRnd[domain])
|
||||
}
|
||||
});
|
||||
}
|
||||
return persistentRnd[domain];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue