diff options
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html')
-rw-r--r-- | third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html deleted file mode 100644 index f409660..0000000 --- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html +++ /dev/null @@ -1,185 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" - "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>WebGL Canvas Conformance Tests</title> -<script src="resources/desktop-gl-constants.js" type="text/javascript"></script> -<script src="../../../resources/js-test.js"></script> -<script src="resources/webgl-test.js"></script> -<script src="../../../resources/run-after-layout-and-paint.js"></script> -</head> -<body> -<div id="description"></div> -<div id="console"></div> -<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas> -<canvas id="canvas2d" width="40" height="40"> </canvas> -<script> -jsTestIsAsync = true; -if (window.initNonKhronosFramework) { - window.initNonKhronosFramework(true); -} - -description("This test ensures WebGL implementations interact correctly with the canvas tag."); - -debug(""); -debug("Canvas.getContext"); - -var canvas = document.getElementById("canvas"); -var canvas2d = document.getElementById("canvas2d"); -var ctx2d = canvas2d.getContext("2d"); -var gl = create3DContext(canvas); -if (!gl) { - testFailed("context does not exist"); -} else { - testPassed("context exists"); - - debug(""); - debug("Checking canvas and WebGL interaction"); - - // Check that a canvas with no width or height is 300x150 pixels - shouldBe('canvas.width', '300'); - shouldBe('canvas.height', '150'); - - // Check get a 4 value gl parameter as a csv string. - function getValue4v(name) { - var v = gl.getParameter(name); - var result = '' + - v[0] + ',' + - v[1] + ',' + - v[2] + ',' + - v[3]; - return result; - } - - function getViewport() { - return getValue4v(gl.VIEWPORT); - } - - function getClearColor() { - return getValue4v(gl.COLOR_CLEAR_VALUE); - } - - function isAboutEqual(a, b) { - return Math.abs(a - b) < 0.01; - } - - function isAboutEqualInt(a, b) { - return Math.abs(a - b) < 3; - } - - function checkCanvasContentIs(r3d,g3d,b3d,a3d) { - var r2d; - var g2d; - var b2d; - var a2d; - - function checkPixel(x, y, r3d,g3d,b3d,a3d) { - var offset = (y * 40 + x) * 4; - r2d = imgData.data[offset]; - g2d = imgData.data[offset + 1]; - b2d = imgData.data[offset + 2]; - a2d = imgData.data[offset + 3]; - //debug('' + x + ', ' + y + "(" + offset + ") = " + r2d + ", " + g2d + ", " + b2d + ", " + a2d); - return isAboutEqualInt(r2d, r3d) && - isAboutEqualInt(g2d, g3d) && - isAboutEqualInt(b2d, b3d) && - isAboutEqualInt(a2d, a3d); - } - - function checkPixels(r3d,g3d,b3d,a3d) { - return checkPixel(0, 0, r3d, g3d, b3d, a3d) && - checkPixel(0, 39, r3d, g3d, b3d, a3d) && - checkPixel(39, 0, r3d, g3d, b3d, a3d) && - checkPixel(39, 39, r3d, g3d, b3d, a3d) && - checkPixel(0, 0, r3d, g3d, b3d, a3d); - }; - - // Set to just take the color from the 3d canvas - ctx2d.globalCompositeOperation = 'copy'; - - // fill 2d canvas with orange - ctx2d.fillStyle = "rgb(255,192,128)"; - ctx2d.fillRect (0, 0, 40, 40); - - // get the image data - var imgData = ctx2d.getImageData(0, 0, 40, 40); - - // check it got cleared. - if (!checkPixels(255, 192, 128, 255)) { - testFailed("unable to fill 2d context."); - return; - } - - // draw 3d canvas on top. - ctx2d.drawImage(canvas, 0,0, 40, 40); - - // get the image data - var imgData = ctx2d.getImageData(0, 0, 40, 40); - - // Check it's the expected color. - if (!checkPixels(r3d, g3d, b3d, a3d)) { - testFailed("pixels are " + r2d + "," + g2d + "," + b2d + "," + a2d + - " expected " + r3d + "," + g3d + "," + b3d + "," + a3d); - } else { - testPassed("pixels are " + r3d + "," + g3d + "," + b3d + "," + a3d); - } - } - - checkCanvasContentIs(0, 0, 0, 0); - shouldBe('getViewport()', '"0,0,300,150"'); - - // Change the display size of the canvas and check - // the viewport size does not change. - debug(""); - debug("change display size of canvas and see that viewport does not change"); - canvas.style.width = "100px"; - canvas.style.height = "25px"; - runAfterLayoutAndPaint(function() { - if (canvas.clientWidth == 100 && - canvas.clientHeight == 25) { - shouldBe('getViewport()', '"0,0,300,150"'); - shouldBe('canvas.width', '300'); - shouldBe('canvas.height', '150'); - - // Change the actual size of the canvas - // Check that the viewport does not change. - // Check that the clear color does not change. - // Check that the color mask does not change. - debug(""); - debug("change the actual size of the canvas and see that the viewport does not change"); - gl.clearColor(0.25, 0.5, 0.75, 1); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - checkCanvasContentIs(64, 128, 192, 255); - gl.colorMask(0,0,0,0); - canvas.width = 400; - canvas.height = 10; - - var v = gl.getParameter(gl.COLOR_CLEAR_VALUE); - assertMsg(isAboutEqual(v[0], 0.25) && - isAboutEqual(v[1], 0.5) && - isAboutEqual(v[2], 0.75) && - isAboutEqual(v[3], 1), - "gl.clearColor should not change after canvas resize"); - v = gl.getParameter(gl.COLOR_WRITEMASK); - assertMsg(isAboutEqual(v[0], 0) && - isAboutEqual(v[1], 0) && - isAboutEqual(v[2], 0) && - isAboutEqual(v[3], 0), - "gl.colorMask should not change after canvas resize"); - shouldBe('getViewport()', '"0,0,300,150"'); - checkCanvasContentIs(0, 0, 0, 0); - - debug(""); - - finishJSTest(); - } - }); -} - -</script> -<script> -</script> - -</body> -</html> |