tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_webgl_renderer_constant_rfp.html (1459B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>WebGL Renderer Constant with RFP - Renderer should be "Mozilla"</title>
      4 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      5 <script>
      6 /* global SimpleTest SpecialPowers */
      7 SimpleTest.waitForExplicitFinish();
      8 document.addEventListener("DOMContentLoaded", async function() {
      9  // Enable RFP
     10  await SpecialPowers.pushPrefEnv({
     11      set: [["privacy.resistFingerprinting", true],
     12     ["privacy.fingerprintingProtection.overrides", "+WebGLRendererConstant"],
     13     ["privacy.fingerprintingProtection", true]]
     14  });
     15 
     16  let canvas = document.body.appendChild(document.createElement("canvas"));
     17  if (!canvas) {
     18    SimpleTest.ok(false, "Cannot create canvas");
     19    SimpleTest.finish();
     20    return;
     21  }
     22 
     23  let gl = canvas.getContext("webgl");
     24  if (!gl) {
     25    SimpleTest.ok(false, "Cannot get WebGL context");
     26    SimpleTest.finish();
     27    return;
     28  }
     29 
     30  // Try to get the WEBGL_debug_renderer_info extension
     31  let ext = gl.getExtension("WEBGL_debug_renderer_info");
     32  if (!ext) {
     33    SimpleTest.ok(false, "WEBGL_debug_renderer_info extension should be available with RFP");
     34    SimpleTest.finish();
     35    return;
     36  }
     37 
     38  // With RFP enabled, WebGLRenderInfo takes precedence and the renderer should be "Mozilla"
     39  let renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);
     40 
     41  SimpleTest.is(renderer, "Mozilla",
     42    "UNMASKED_RENDERER_WEBGL should be 'Mozilla' with RFP enabled");
     43 
     44  SimpleTest.finish();
     45 });
     46 </script>