Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 <!DOCTYPE HTML>
2 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
4 <title>WebGL test: Drawing with a null program</title>
6 <script src="/tests/SimpleTest/SimpleTest.js"></script>
7 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
8 <script src="driver-info.js"></script>
9 <script src="webgl-util.js"></script>
12 <script id="vs" type="x-shader/x-vertex">
14 void main(void) {
15 gl_PointSize = 16.0;
16 gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
17 }
19 </script>
20 <script id="fs" type="x-shader/x-fragment">
22 precision mediump float;
24 void main(void) {
25 gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
26 }
28 </script>
29 <body>
30 <canvas id="c" width="64" height="64"></canvas>
31 <script>
33 // Give ourselves a scope to return early from:
34 (function() {
35 var gl = WebGLUtil.getWebGL('c');
36 if (!gl) {
37 todo(false, 'WebGL is unavailable.');
38 return;
39 }
41 function errorFunc(str) {
42 ok(false, 'Error: ' + str);
43 }
44 WebGLUtil.setErrorFunc(errorFunc);
45 WebGLUtil.setWarningFunc(errorFunc);
47 gl.disable(gl.DEPTH_TEST);
49 var prog = WebGLUtil.createProgramByIds(gl, 'vs', 'fs');
50 if (!prog) {
51 ok(false, 'Program linking should succeed.');
52 return;
53 }
55 function checkGLError(func, info, refValue) {
56 if (!refValue)
57 refValue = 0;
59 var error = gl.getError();
60 func(error == refValue,
61 '[' + info + '] gl.getError should be 0x' + refValue.toString(16) +
62 ', was 0x' + error.toString(16) + '.');
63 }
65 // Start drawing
66 checkGLError(ok, 'after setup');
68 gl.useProgram(prog);
69 gl.drawArrays(gl.POINTS, 0, 1);
70 checkGLError(ok, 'after non-null-program DrawArrays');
72 gl.useProgram(null);
73 gl.drawArrays(gl.POINTS, 0, 1);
74 checkGLError(ok, 'after null-program DrawArrays', gl.INVALID_OPERATION);
76 ok(true, 'Test complete.');
77 })();
79 </script>