On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-testing: premultipliedAlpha: true imageFormat: image/png
+testing: premultipliedAlpha: true toDataURL: true
PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
PASS getError was expected value: NO_ERROR : Should be no errors from setup.
PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
PASS should draw with 64,128,255,128
-testing: premultipliedAlpha: true imageFormat: undefined
+testing: premultipliedAlpha: true toDataURL: false
PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
PASS getError was expected value: NO_ERROR : Should be no errors from setup.
PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
PASS should draw with 64,128,255,128
-testing: premultipliedAlpha: false imageFormat: image/png
+testing: premultipliedAlpha: false toDataURL: true
PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
PASS getError was expected value: NO_ERROR : Should be no errors from setup.
PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
PASS should draw with 255,192,128,1
-testing: premultipliedAlpha: false imageFormat: undefined
+testing: premultipliedAlpha: false toDataURL: false
PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
PASS getError was expected value: NO_ERROR : Should be no errors from setup.
PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
PASS should draw with 255,192,128,1
-testing: premultipliedAlpha: false imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-
-testing: premultipliedAlpha: true imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-
-<!DOCTYPE html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
-<meta charset="utf-8">
<title>Test the WebGL premultipledAlpha context creation flag.</title>
<link rel="stylesheet" href="../../js/resources/js-test-style.css"/>
<script src="../../js/resources/js-test-pre.js"></script>
sentColor: [32, 64, 128, 128],
expectedColor: [64, 128, 255, 128],
errorRange: 2,
- imageFormat: "image/png"
+ useToDataURL: true,
},
// If premultipledAlpha is true then
// [texture] [canvas] [texture]
sentColor: [32, 64, 128, 128],
expectedColor: [64, 128, 255, 128],
errorRange: 2,
+ useToDataURL: false,
},
// If premultipledAlpha is false then
// [texture] [canvas] [dataURL]
sentColor: [255, 192, 128, 1],
expectedColor: [255, 192, 128, 1],
errorRange: 0,
- imageFormat: "image/png"
+ useToDataURL: true,
},
// If premultipledAlpha is false then
// [texture] [canvas] [texture]
sentColor: [255, 192, 128, 1],
expectedColor: [255, 192, 128, 1],
errorRange: 0,
- },
- // If premultipledAlpha is false then
- // [texture] [canvas] [dataURL]
- // 255, 255, 255, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
- { creationAttributes: {premultipliedAlpha: false},
- sentColor: [255, 255, 255, 128],
- expectedColor: [128, 128, 128, 255],
- errorRange: 2,
- imageFormat: "image/jpeg"
- },
- // If premultipledAlpha is true then
- // [texture] [canvas] [dataURL]
- // 128, 128, 128, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
- { creationAttributes: {},
- sentColor: [128, 128, 128, 128],
- expectedColor: [128, 128, 128, 255],
- errorRange: 2,
- imageFormat: "image/jpeg"
+ useToDataURL: false,
}
];
if (g_count < tests.length) {
var test = tests[g_count++];
canvas = document.createElement("canvas");
- // Need to preserve drawing buffer to load it in a callback
- test.creationAttributes.preserveDrawingBuffer = true;
gl = wtu.create3DContext(canvas, test.creationAttributes);
var premultipliedAlpha = test.creationAttributes.premultipliedAlpha != false;
debug("")
- debug("testing: premultipliedAlpha: " + premultipliedAlpha + " imageFormat: " + test.imageFormat);
+ debug("testing: premultipliedAlpha: " + premultipliedAlpha + " toDataURL: " + test.useToDataURL);
shouldBe('gl.getContextAttributes().premultipledAlpha', 'premultipledAlpha');
- shouldBeTrue('gl.getContextAttributes().preserveDrawingBuffer');
var program = wtu.setupTexturedQuad(gl);
// gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, false);
gl.bindTexture(gl.TEXTURE_2D, pngTex);
- if (test.imageFormat) {
+ if (test.useToDataURL) {
// create texture from image
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this);
} else {
doNextTest();
}
- if (test.imageFormat) {
+ if (test.useToDataURL) {
// Load canvas into string using toDataURL
- var imageUrl = canvas.toDataURL(test.imageFormat);
- if (test.imageFormat != "image/png" &&
- (imageUrl.indexOf("data:image/png,") == 0 ||
- imageUrl.indexOf("data:image/png;") == 0)) {
- debug("Image format " + test.imageFormat + " not supported; skipping");
- setTimeout(doNextTest, 0);
- } else {
- // Load string into the texture
- var input = document.createElement("img");
- input.onload = loadTexture;
- input.src = imageUrl;
- }
+ var png = canvas.toDataURL();
+ // Load string into the texture
+ var input = document.createElement("img");
+ input.onload = loadTexture;
+ input.src = png;
} else {
// Load canvas into the texture asynchronously (to prevent unbounded stack consumption)
setTimeout(loadTexture, 0);
</script>
+<script>
+</script>
+
</body>
</html>