mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-03 20:16:33 +02:00
parent
5932ac2292
commit
8b9197a68a
17 changed files with 356 additions and 211 deletions
|
@ -117,55 +117,70 @@
|
|||
{
|
||||
name: "blockMode",
|
||||
check: function(errorCallback){
|
||||
const switchMode = {
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToFakeReadout"),
|
||||
callback: function(){
|
||||
settings.blockMode = "fakeReadout";
|
||||
}
|
||||
};
|
||||
const blockMode = settings.blockMode;
|
||||
const blockModeName = browser.i18n.getMessage("blockMode_options." + blockMode);
|
||||
const protectedCanvasPart = settings.protectedCanvasPart;
|
||||
if (!blockMode.match("^fake|^ask")){
|
||||
errorCallback({
|
||||
message: browser.i18n.getMessage("sanitation_error.badBlockMode"),
|
||||
severity: "medium",
|
||||
resolutions: [switchMode]
|
||||
});
|
||||
}
|
||||
["Audio", "Window", "DOMRect"].forEach(function(api){
|
||||
const mainFlag = "protect" + api;
|
||||
if (settings[mainFlag]){
|
||||
if (["fakeInput"].indexOf(blockMode) !== -1){
|
||||
const blockModeName = browser.i18n.getMessage("blockMode_options." + blockMode);
|
||||
errorCallback({
|
||||
message: browser.i18n.getMessage("sanitation_error.blockModeVsProtection")
|
||||
.replace(/{blockMode}/g, blockModeName)
|
||||
.replace(/{api}/g, browser.i18n.getMessage("section_" + api + "-api")),
|
||||
severity: "high",
|
||||
resolutions: [switchMode, {
|
||||
label: browser.i18n.getMessage("sanitation_resolution.disableFlag")
|
||||
.replace(/{flag}/g, browser.i18n.getMessage(mainFlag + "_title")),
|
||||
callback: function(){
|
||||
settings[mainFlag] = false;
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
if (blockMode === "fakeInput" && settings.rng === "white"){
|
||||
errorCallback({
|
||||
message: browser.i18n.getMessage("sanitation_error.fakeInputWithWhiteRng")
|
||||
.replace(/{blockMode}/g, blockModeName),
|
||||
severity: "low",
|
||||
resolutions: [switchMode, {
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToNonPersistentRng"),
|
||||
resolutions: [{
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToFake"),
|
||||
callback: function(){
|
||||
settings.rng = "nonPersistent";
|
||||
settings.blockMode = "fake";
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
if (blockMode === "fake" && protectedCanvasPart === "input" && settings.rng === "white"){
|
||||
errorCallback({
|
||||
message: browser.i18n.getMessage("sanitation_error.fakeInputWithWhiteRng")
|
||||
.replace(/{blockMode}/g, browser.i18n.getMessage("blockMode_options." + blockMode))
|
||||
.replace(
|
||||
/{protectedCanvasPart}/g,
|
||||
browser.i18n.getMessage("protectedCanvasPart_options." + settings.protectedCanvasPart)
|
||||
),
|
||||
severity: "low",
|
||||
resolutions: [
|
||||
{
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToProtectReadout"),
|
||||
callback: function(){
|
||||
settings.protectedCanvasPart = "readout";
|
||||
}
|
||||
},
|
||||
{
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToNonPersistentRng"),
|
||||
callback: function(){
|
||||
settings.rng = "nonPersistent";
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
if (blockMode === "fake" && protectedCanvasPart === "everything"){
|
||||
errorCallback({
|
||||
message: browser.i18n.getMessage("sanitation_error.fakeEverythingInCanvas")
|
||||
.replace(/{blockMode}/g, browser.i18n.getMessage("blockMode_options." + blockMode))
|
||||
.replace(
|
||||
/{protectedCanvasPart}/g,
|
||||
browser.i18n.getMessage("protectedCanvasPart_options." + settings.protectedCanvasPart)
|
||||
),
|
||||
severity: "low",
|
||||
resolutions: [
|
||||
{
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToProtectReadout"),
|
||||
callback: function(){
|
||||
settings.protectedCanvasPart = "readout";
|
||||
}
|
||||
},
|
||||
{
|
||||
label: browser.i18n.getMessage("sanitation_resolution.switchToProtectInput"),
|
||||
callback: function(){
|
||||
settings.protectedCanvasPart = "input";
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -18,20 +18,20 @@
|
|||
{
|
||||
"name": "askOnlyOnce",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["askReadout", "ask"]
|
||||
"blockMode": ["ask"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "askDenyMode",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "showCanvasWhileAsking",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
|
@ -40,11 +40,11 @@
|
|||
"name": "rng",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -54,12 +54,12 @@
|
|||
"name": "storePersistentRnd",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -71,12 +71,12 @@
|
|||
"inputs": ["persistentRndClearIntervalValue", "persistentRndClearIntervalUnit"],
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -87,12 +87,12 @@
|
|||
"name": "clearPersistentRnd",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"rng": ["persistent"],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -163,7 +163,7 @@
|
|||
{
|
||||
"name": "showCallingFile",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
|
@ -179,7 +179,7 @@
|
|||
{
|
||||
"name": "enableStackList",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["blockReadout", "fakeReadout", "fakeInput", "askReadout", "block", "ask"],
|
||||
"blockMode": ["fake", "block", "ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
|
@ -194,25 +194,28 @@
|
|||
{
|
||||
"name": "whiteList",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["blockReadout", "fakeReadout", "fakeInput", "askReadout", "block", "ask"],
|
||||
"blockMode": ["fake", "block", "ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "sessionWhiteList",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["blockReadout", "fakeReadout", "fakeInput", "askReadout", "block", "ask"],
|
||||
"blockMode": ["fake", "block", "ask"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blackList",
|
||||
"displayDependencies": {
|
||||
"blockMode": ["blockReadout", "fakeReadout", "fakeInput", "askReadout", "ask", "allow"],
|
||||
"blockMode": ["block", "fake", "ask", "allow"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
},
|
||||
"Canvas-API",
|
||||
{
|
||||
"name": "protectedCanvasPart"
|
||||
},
|
||||
{
|
||||
"name": "protectedAPIFeatures",
|
||||
"displayedSection": "Canvas-API",
|
||||
|
@ -226,11 +229,11 @@
|
|||
"name": "minFakeSize",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -240,11 +243,11 @@
|
|||
"name": "maxFakeSize",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -254,11 +257,12 @@
|
|||
"name": "ignoreFrequentColors",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout"],
|
||||
"blockMode": ["fake"],
|
||||
"protectedCanvasPart": ["readout"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -268,11 +272,12 @@
|
|||
"name": "minColors",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout"],
|
||||
"blockMode": ["fake"],
|
||||
"protectedCanvasPart": ["readout"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -282,11 +287,12 @@
|
|||
"name": "fakeAlphaChannel",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout"],
|
||||
"blockMode": ["fake"],
|
||||
"protectedCanvasPart": ["readout"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -296,11 +302,12 @@
|
|||
"name": "useCanvasCache",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout"],
|
||||
"blockMode": ["fake"],
|
||||
"protectedCanvasPart": ["readout"],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"displayAdvancedSettings": [true]
|
||||
}
|
||||
|
@ -334,12 +341,12 @@
|
|||
"name": "audioFakeRate",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask", "allow"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -350,12 +357,12 @@
|
|||
"name": "audioNoiseLevel",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask", "allow"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -366,12 +373,12 @@
|
|||
"name": "useAudioCache",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask", "allow"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -382,12 +389,12 @@
|
|||
"name": "audioUseFixedIndices",
|
||||
"displayDependencies": [
|
||||
{
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"blockMode": ["askReadout", "ask", "allow"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
@ -399,13 +406,13 @@
|
|||
"displayDependencies": [
|
||||
{
|
||||
"audioUseFixedIndices": [true],
|
||||
"blockMode": ["fakeReadout", "fakeInput"],
|
||||
"blockMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
},
|
||||
{
|
||||
"audioUseFixedIndices": [true],
|
||||
"blockMode": ["askReadout", "ask", "allow"],
|
||||
"blockMode": ["ask"],
|
||||
"askDenyMode": ["fake"],
|
||||
"protectAudio": [true],
|
||||
"displayAdvancedSettings": [true]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue