diff options
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html')
-rw-r--r-- | third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html new file mode 100644 index 0000000..0c021b9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html> +<head> +<script src="./resources/webgl-test-utils-full.js"></script> +<script src="./resources/tex-image-and-sub-image-utils.js"></script> +<script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script> +<script src="../../../resources/js-test.js"></script> +<script> + +window.jsTestIsAsync = true; + +var wtu = WebGLTestUtils; +var tiu = TexImageUtils; +var gl = null; +var internalFormat = "RGBA"; +var pixelFormat = "RGBA"; +var pixelType = "UNSIGNED_BYTE"; +var redColor = [255, 0, 0]; +var greenColor = [0, 255, 0]; +var blackColor = [0, 0, 0]; +var darkRed = [26, 0, 0]; +var darkGreen = [0, 26, 0]; + +function promiseRejected() +{ + document.getElementById("results").innerHTML = "Promise <span style='color:red'>REJECTED</span>"; +} + +function pass() +{ + document.getElementById("results").innerHTML = "Test <span style='color:green'>PASSED</span>"; +} + +function generateTest() +{ + var bitmaps = []; + + var canvas = document.getElementById("example"); + gl = canvas.getContext("webgl"); + + gl.clearColor(0,0,0,1); + gl.clearDepth(1); + gl.disable(gl.BLEND); + + var imageData = new ImageData(new Uint8ClampedArray( + [255, 0, 0, 255, + 255, 0, 0, 26, + 0, 255, 0, 255, + 0, 255, 0, 26]), + 2, 2); + + var bitmap; // bitmap will be in unpremultiplied format + createImageBitmap(imageData, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(image) { + bitmap = image; + var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap }); + var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = imageBitmap }); + var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageBitmap }); + var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBitmap }); + var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imageBitmap }); + var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBitmap }); + var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitmap }); + var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.colorspaceDef = imageBitmap }); + var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap }); + var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap }); + Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() { + var alphaVal = 0.5; + var testPassed = runTest(bitmaps, alphaVal, false); + if (testPassed) + pass(); + finishJSTest(); + }, function() { + promiseRejected(); + finishJSTest(); + }); + }, function() { + promiseRejected(); + finishJSTest(); + }); +} + +function init() +{ + if (window.testRunner) { + testRunner.overridePreference("WebKitWebGLEnabled", "1"); + testRunner.dumpAsText(); + } + generateTest(); +} +</script> +</head> +<body onload="init()"> +<canvas id="texcanvas" width="2" height="2"></canvas> +<canvas id="example" width="32" height="32"></canvas> +<div id="results">Test <span style="color:red">FAILED</span></div> +</body> +</html> |