summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-mochitest/test_webgl_force_enable.html
blob: 4b4611dd2db79f47a51102cce8ca1d02adf6ad96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE HTML>
<html>
<head>
<title>WebGL test: Check that WebGL works (or not) if it should (or should not).</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
<script src="webgl-util.js"></script>
<script src="driver-info.js"></script>
</head>
<body>
<canvas id="c"></canvas>
<script>

function test() {
  ok(SpecialPowers.getBoolPref('webgl.force-enabled'), 'WebGL should be force-enabled.');

  var shouldSucceed = true;
  var shouldFail = false;

  if (DriverInfo.getOS() == DriverInfo.OS.ANDROID &&
      DriverInfo.getOSVersion() < 15)
  {
    // Consider 'random'. Actually, ARMv6 fails, and ARMv7 succeeds, but we have
    // not been successful at determining this from JS. (see bug 917478)
    shouldSucceed = false;
    shouldFail = false;
  }

  var gl = WebGLUtil.getWebGL('c');
  if (shouldSucceed) {
    ok(gl, 'Expected WebGL creation to succeed.');
  }
  if (shouldFail) {
    ok(!gl, 'Expected WebGL creation to fail.');
  }

  SimpleTest.finish();
}

SimpleTest.waitForExplicitFinish();

var prefArrArr = [
  ['webgl.force-enabled', true]
];
var prefEnv = {'set': prefArrArr};
SpecialPowers.pushPrefEnv(prefEnv, test);

</script>
</body>
</html>