<!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 setCanvasToRedGreen(ctx) { ctx.canvas.width = 2; ctx.canvas.height = 2; var width = ctx.canvas.width; var halfWidth = Math.floor(width / 2); var height = ctx.canvas.height; var halfHeight = Math.floor(height / 2); ctx.fillStyle = "rgba(255, 0, 0, 1)"; ctx.fillRect(0, 0, halfWidth, halfHeight); ctx.fillStyle = "rgba(255, 0, 0, 0.1)"; ctx.fillRect(halfWidth, 0, halfWidth, halfHeight); ctx.fillStyle = "rgba(0, 255, 0, 1)"; ctx.fillRect(0, halfHeight, halfWidth, halfHeight); ctx.fillStyle = "rgba(0, 255, 0, 0.1)"; ctx.fillRect(halfWidth, halfHeight, halfWidth, halfHeight); } function generateTest() { var bitmaps = []; var canvas = document.getElementById("example"); gl = canvas.getContext("webgl"); gl.clearColor(0,0,0,1); gl.clearDepth(1); var testCanvas = document.createElement('canvas'); var ctx = testCanvas.getContext("2d"); setCanvasToRedGreen(ctx); var p1 = createImageBitmap(testCanvas).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap }); var p2 = createImageBitmap(testCanvas, {imageOrientation: "none", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = imageBitmap }); var p3 = createImageBitmap(testCanvas, {imageOrientation: "none", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageBitmap }); var p4 = createImageBitmap(testCanvas, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBitmap }); var p5 = createImageBitmap(testCanvas, {imageOrientation: "flipY", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imageBitmap }); var p6 = createImageBitmap(testCanvas, {imageOrientation: "flipY", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBitmap }); var p7 = createImageBitmap(testCanvas, {imageOrientation: "flipY", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitmap }); var p8 = createImageBitmap(testCanvas).then(function(imageBitmap) { bitmaps.colorspaceDef = imageBitmap }); var p9 = createImageBitmap(testCanvas, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap }); var p10 = createImageBitmap(testCanvas, {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 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>