Bug 881681 - Add reftest for resizing a WebGL canvas. - r=dzbarsky

This commit is contained in:
Jeff Gilbert 2013-08-12 16:49:10 -07:00
parent cbb9d2f5c3
commit c0c4700ab4
2 changed files with 61 additions and 0 deletions

View File

@ -33,6 +33,9 @@ pref(webgl.force-layers-readback,true) random-if(Android&&A
pref(webgl.force-layers-readback,true) fuzzy-if(B2G,256,83) random-if(Android&&AndroidVersion<15) == webgl-clear-test.html?readback&__&alpha&preserve wrapper.html?green.png
pref(webgl.force-layers-readback,true) fuzzy-if(B2G,256,83) random-if(Android&&AndroidVersion<15) == webgl-clear-test.html?readback&aa&alpha&preserve wrapper.html?green.png
# Check that resize works:
== webgl-resize-test.html wrapper.html?green.png
# Check orientation:
random-if(Android&&AndroidVersion<15) == webgl-orientation-test.html?__&_____&________ wrapper.html?white-top-left.png
random-if(Android&&AndroidVersion<15) == webgl-orientation-test.html?aa&_____&________ wrapper.html?white-top-left.png

View File

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="webgl-utils.js"></script>
<script type="text/javascript">
/* Resize Test
*
* Create canvas of wrong size.
* Clear the canvas to red.
* Resize to correct size.
* Clear to green.
*/
"use strict";
function render(gl) {
gl.clearColor(1.0, 0.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT);
gl.canvas.width = 256;
gl.canvas.height = 256;
gl.clearColor(0.0, 1.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT);
gl.finish();
}
function renderFailure(canvas) {
// This will also trigger RAF for us.
var context = canvas.getContext("2d");
context.fillText('WebGL failed.', 64, 64);
}
function runTest() {
var canvas = document.getElementById("canvas");
var gl = initGL(canvas);
if (gl)
render(gl);
else
renderFailure(canvas);
testComplete();
}
function testComplete() {
document.documentElement.removeAttribute("class");
}
</script>
</head>
<body onload="rAF(runTest);">
<canvas id="canvas" width="128" height="128" bgcolor='yellow'></canvas>
</body>
</html>