1
0
Fork 0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2025-07-04 20:46:39 +02:00

added {disabled} to UNMASKED_VENDOR_WEBGL and UNMASKED_RENDERER_WEBGL

to disabled the WEBGL_debug_renderer_info extension

Fixes #508
This commit is contained in:
kkapsner 2021-01-03 21:11:17 +01:00
parent b4a744660b
commit e2c5dfc06e
5 changed files with 48 additions and 1 deletions

View file

@ -534,6 +534,46 @@
};
}
},
getExtension: {
type: "readout",
getStatus: createGetStatus(["readout", "input"]),
object: ["WebGLRenderingContext", "WebGL2RenderingContext"],
fakeGenerator: function(checker){
return function getExtension(extensionName){
return checkerWrapper(checker, this, arguments, function(args, check){
const {prefs, notify, window, original} = check;
const originalValue = original.call(this, ...args);
if (
extensionName === "WEBGL_debug_renderer_info" &&
originalValue &&
webgl.parameterChangeDefinition[originalValue.UNMASKED_VENDOR_WEBGL] &&
webgl.parameterChangeDefinition[originalValue.UNMASKED_RENDERER_WEBGL]
){
const vendorDef = webgl.parameterChangeDefinition[originalValue.UNMASKED_VENDOR_WEBGL];
const {vendorValue, vendorFaked} = vendorDef.fake(originalValue, window, prefs);
const rendererDef = webgl.parameterChangeDefinition[originalValue.UNMASKED_RENDERER_WEBGL];
const {rendererValue, rendererFaked} = vendorDef.fake(originalValue, window, prefs);
if (
vendorFaked && vendorValue === null &&
rendererFaked && rendererValue === null
){
const value = null;
if (originalValue !== value){
notify("fakedReadout");
}
return value;
}
else {
return originalValue;
}
}
else {
return originalValue;
}
});
};
}
},
convertToBlob: {
type: "readout",
getStatus: createGetStatus("readout"),