Error: WebGL warning: Unable to restrict WebGL limits to minimums.
The respective script breaks in the last line of
/** * Creates a webgl context. * @param {!Canvas} canvas The canvas tag to get context * from. If one is not passed in one will be created. * @return {!WebGLRenderingContext} The created context. */tdl.webgl.create3DContext = function(canvas, opt_attribs, opt_preferredContextType) { if (opt_attribs === undefined) { opt_attribs = {alpha:false}; tdl.misc.applyUrlSettings(opt_attribs, 'webgl'); } var names = ["webgl", "experimental-webgl"]; if (opt_preferredContextType) { names.splice(0, 0, opt_preferredContextType); } var context = null; for (var ii = 0; ii < names.length; ++ii) { try { context = canvas.getContext(names[ii], opt_attribs);
.
Now, this works in Tor Browser if one toggles privacy.resistFingerprinting to false. The interesting part, however, is that this works in vanilla Firefox 60.1.0esr with privacy.resistFingerprinting enabled out of the box.
I wonder what else we do that is tied to that pref and breaks WebGL.
just to be certain out d3dcompiler dll is getting loaded... I had seen intermittent test failures (on a mingw build) where it wasn't but never could figure out why.
Okay, this almost dropped off the radar. It turns out that I can't reproduce the issue with 8.5a1 anymore, which is kind of weird. The only explanation I have is that I used the new NoScript API in Torbutton back then but the NoScript 8.5a1 shipped was not ready for that one (a mistake that happened to me just a couple of minutes ago while re-investigating). The result is a broken NoScript denying JS by default preventing the WebGL demo from running.
r=mcs
Both patches look good to me. I also verified that setting webgl.min_capability_mode to false allows WebGL to begin working within macOS Tor Browser (I tested with 8.0.3 and 8.5a5).
r=mcs
Both patches look good to me. I also verified that setting webgl.min_capability_mode to false allows WebGL to begin working within macOS Tor Browser (I tested with 8.0.3 and 8.5a5).
Thanks. Merged to Torbutton's master (commit 7d98f3bd4348aa79efe040118763c77c84745173) and to tor-browser-60.3.0esr-8.5-1 (6eadc818). Marking for possible backport.
Obviously,
{{{
pref("webgl.disable-fail-if-major-performance-caveat", true);
pref("webgl.enable-webgl2", false);
}}}
should be added to Torbutton.
I agree with the situation being not optimal but I think those prefs should not get added to Torbutton. Rather, we should rip out the respective Torbutton functions (both torbutton_update_fingerprinting_prefs() and torbutton_update_isolation_prefs()) as fingerprinting and linkability defenses are not optional. We don't expose those options in the browser UI either anymore. I've opened legacy/trac#28746 (moved) for that (and legacy/trac#28745 (moved) for the parent ticket covering the Torbutton clean-up).
r=mcs
Both patches look good to me. I also verified that setting webgl.min_capability_mode to false allows WebGL to begin working within macOS Tor Browser (I tested with 8.0.3 and 8.5a5).
Thanks. Merged to Torbutton's master (commit 7d98f3bd4348aa79efe040118763c77c84745173) and to tor-browser-60.3.0esr-8.5-1 (6eadc818). Marking for possible backport.
Note for backporting: I think we should fix legacy/trac#21805 (moved) first, too, or amend our browser design doc which claims we are providing WebGL by click-to-play (which we currently do not do).