scratchfoundation / scratch-render

WebGL-based rendering engine for Scratch 3.0
BSD 3-Clause "New" or "Revised" License
261 stars 336 forks source link

Brave's anti-canvas-fingerprinting behavior may subtly break "touching color" #579

Closed adroitwhiz closed 4 years ago

adroitwhiz commented 4 years ago

Expected Behavior

Blocks like "touching color" should function properly and consistently in all browsers.

Actual Behavior

Apparently, Brave slightly randomizes the pixel values returned from getImageData. Since getImageData is used both to upload textures to the GPU and for Silhouettes, this could result in pixel color values being slightly different in Brave, which may cause extremely color-sensitive operations (like "touching color") to randomly return different results across different browser sessions.

If this does turn out to be a problem, I'm not sure what can be done other than advising users to disable Brave's anti-fingerprinting in the Scratch FAQ, if this particular feature can even be disabled.

Steps to Reproduce

None yet. Testing is needed to see if this is an actual problem.

Operating System and Browser

Brave (possibly nightly)

apple502j commented 4 years ago

Scratch does not support Brave, so this can be ignored. My question is if it does so on the other browser that also has strict anti-fingerprinting - and is also supported by Scratch - yes, Firefox.

BryceLTaylor commented 4 years ago

As we do not support the Brave browser I'm closing this issue. Also, please only open issues for problems you have actually experienced, not that could theoretically happen.