Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image.html

Issue 1809603004: Use ImageDecoder for createImageBitmap(HTMLImageElement, premultiplyAlpha=false) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: halfRed-->darkRed Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="./resources/webgl-test-utils-full.js"></script> 4 <script src="./resources/webgl-test-utils-full.js"></script>
5 <script src="./resources/tex-image-and-sub-image-utils.js"></script> 5 <script src="./resources/tex-image-and-sub-image-utils.js"></script>
6 <script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script > 6 <script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script >
7 <script src="../../../resources/js-test.js"></script> 7 <script src="../../../resources/js-test.js"></script>
8 <script> 8 <script>
9 9
10 window.jsTestIsAsync = true; 10 window.jsTestIsAsync = true;
11 11
12 var wtu = WebGLTestUtils; 12 var wtu = WebGLTestUtils;
13 var tiu = TexImageUtils; 13 var tiu = TexImageUtils;
14 var gl = null; 14 var gl = null;
15 var internalFormat = "RGBA"; 15 var internalFormat = "RGBA";
16 var pixelFormat = "RGBA"; 16 var pixelFormat = "RGBA";
17 var pixelType = "UNSIGNED_BYTE"; 17 var pixelType = "UNSIGNED_BYTE";
18 var redColor = [255, 0, 0]; 18 var redColor = [255, 0, 0];
19 var greenColor = [0, 255, 0]; 19 var greenColor = [0, 255, 0];
20 var blackColor = [0, 0, 0]; 20 var blackColor = [0, 0, 0];
21 var halfRed = [128, 0, 0]; 21 var darkRed = [26, 0, 0];
22 var halfGreen = [0, 128, 0]; 22 var darkGreen = [0, 26, 0];
23
24 var image = new Image();
23 25
24 function promiseRejected() 26 function promiseRejected()
25 { 27 {
26 document.getElementById("results").innerHTML = "Promise <span style='color:r ed'>REJECTED</span>"; 28 document.getElementById("results").innerHTML = "Promise <span style='color:r ed'>REJECTED</span>";
27 } 29 }
28 30
29 function pass() 31 function pass()
30 { 32 {
31 document.getElementById("results").innerHTML = "Test <span style='color:gree n'>PASSED</span>"; 33 document.getElementById("results").innerHTML = "Test <span style='color:gree n'>PASSED</span>";
32 } 34 }
33 35
34 function generateTest() 36 function generateTest()
35 { 37 {
36 var bitmaps = []; 38 var bitmaps = [];
37 39
38 var canvas = document.getElementById("example"); 40 var canvas = document.getElementById("example");
39 gl = canvas.getContext("webgl"); 41 gl = canvas.getContext("webgl");
40 42
41 gl.clearColor(0,0,0,1); 43 gl.clearColor(0,0,0,1);
42 gl.clearDepth(1); 44 gl.clearDepth(1);
43 gl.disable(gl.BLEND);
44
45 var imageData = new ImageData(new Uint8ClampedArray(
46 [255, 0, 0, 255,
47 255, 0, 0, 0,
48 0, 255, 0, 255,
49 0, 255, 0, 0]),
50 2, 2);
51 45
52 var bitmap; // bitmap will be in unpremultiplied format 46 var bitmap; // bitmap will be in unpremultiplied format
53 createImageBitmap(imageData, {imageOrientation: "none", premultiplyAlpha: "n one"}).then(function(image) { 47 createImageBitmap(image, {imageOrientation: "none", premultiplyAlpha: "none" }).then(function(imageBitmap) {
54 bitmap = image; 48 bitmap = imageBitmap;
55 var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. defaultOption = imageBitmap }); 49 var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. defaultOption = imageBitmap });
56 var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = ima geBitmap }); 50 var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = ima geBitmap });
57 var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageB itmap }); 51 var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageB itmap });
58 var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBit map }); 52 var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultipl yAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBit map });
59 var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imag eBitmap }); 53 var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imag eBitmap });
60 var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBi tmap }); 54 var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBi tmap });
61 var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitm ap }); 55 var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultip lyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitm ap });
62 var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. colorspaceDef = imageBitmap }); 56 var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. colorspaceDef = imageBitmap });
63 var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then( function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap }); 57 var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then( function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
64 var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).t hen(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap }); 58 var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).t hen(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
65 Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() { 59 Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
66 var alphaVal = 0; 60 var alphaVal = 0.5;
67 var testPassed = runTest(bitmaps, alphaVal, false); 61 var testPassed = runTest(bitmaps, alphaVal, false);
68 if (testPassed) 62 if (testPassed)
69 pass(); 63 pass();
70 finishJSTest(); 64 finishJSTest();
71 }, function() { 65 }, function() {
72 promiseRejected(); 66 promiseRejected();
73 finishJSTest(); 67 finishJSTest();
74 }); 68 });
75 }, function() { 69 }, function() {
76 promiseRejected(); 70 promiseRejected();
77 finishJSTest(); 71 finishJSTest();
78 }); 72 });
79 } 73 }
80 74
81 function init() 75 function init()
82 { 76 {
83 if (window.testRunner) { 77 if (window.testRunner) {
84 testRunner.overridePreference("WebKitWebGLEnabled", "1"); 78 testRunner.overridePreference("WebKitWebGLEnabled", "1");
85 testRunner.dumpAsText(); 79 testRunner.dumpAsText();
86 } 80 }
87 generateTest(); 81 image.onload = function() {
82 generateTest();
83 }
84 image.src = "resources/red-green-semi-transparent.png";
88 } 85 }
89 </script> 86 </script>
90 </head> 87 </head>
91 <body onload="init()"> 88 <body onload="init()">
92 <canvas id="texcanvas" width="2" height="2"></canvas> 89 <canvas id="texcanvas" width="2" height="2"></canvas>
93 <canvas id="example" width="32" height="32"></canvas> 90 <canvas id="example" width="32" height="32"></canvas>
94 <div id="results">Test <span style="color:red">FAILED</span></div> 91 <div id="results">Test <span style="color:red">FAILED</span></div>
95 </body> 92 </body>
96 </html> 93 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698