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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas.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 23
24 function promiseRejected() 24 function promiseRejected()
25 { 25 {
26 document.getElementById("results").innerHTML = "Promise <span style='color:r ed'>REJECTED</span>"; 26 document.getElementById("results").innerHTML = "Promise <span style='color:r ed'>REJECTED</span>";
27 } 27 }
28 28
29 function pass() 29 function pass()
30 { 30 {
31 document.getElementById("results").innerHTML = "Test <span style='color:gree n'>PASSED</span>"; 31 document.getElementById("results").innerHTML = "Test <span style='color:gree n'>PASSED</span>";
32 } 32 }
33 33
34 function setCanvasToRedGreen(ctx) {
35 ctx.canvas.width = 2;
36 ctx.canvas.height = 2;
37 var width = ctx.canvas.width;
38 var halfWidth = Math.floor(width / 2);
39 var height = ctx.canvas.height;
40 var halfHeight = Math.floor(height / 2);
41 ctx.fillStyle = "rgba(255, 0, 0, 1)";
42 ctx.fillRect(0, 0, halfWidth, halfHeight);
43 ctx.fillStyle = "rgba(255, 0, 0, 0.1)";
44 ctx.fillRect(halfWidth, 0, halfWidth, halfHeight);
45 ctx.fillStyle = "rgba(0, 255, 0, 1)";
46 ctx.fillRect(0, halfHeight, halfWidth, halfHeight);
47 ctx.fillStyle = "rgba(0, 255, 0, 0.1)";
48 ctx.fillRect(halfWidth, halfHeight, halfWidth, halfHeight);
49 }
50
34 function generateTest() 51 function generateTest()
35 { 52 {
36 var bitmaps = []; 53 var bitmaps = [];
37 54
38 var canvas = document.getElementById("example"); 55 var canvas = document.getElementById("example");
39 gl = canvas.getContext("webgl"); 56 gl = canvas.getContext("webgl");
40 57
41 gl.clearColor(0,0,0,1); 58 gl.clearColor(0,0,0,1);
42 gl.clearDepth(1); 59 gl.clearDepth(1);
43 gl.disable(gl.BLEND);
44 60
45 var imageData = new ImageData(new Uint8ClampedArray( 61 var testCanvas = document.createElement('canvas');
46 [255, 0, 0, 255, 62 var ctx = testCanvas.getContext("2d");
47 255, 0, 0, 0, 63 setCanvasToRedGreen(ctx);
48 0, 255, 0, 255,
49 0, 255, 0, 0]),
50 2, 2);
51 64
52 var bitmap; // bitmap will be in unpremultiplied format 65 var bitmap; // bitmap will be in unpremultiplied format
53 createImageBitmap(imageData, {imageOrientation: "none", premultiplyAlpha: "n one"}).then(function(image) { 66 createImageBitmap(testCanvas, {imageOrientation: "none", premultiplyAlpha: " none"}).then(function(imageBitmap) {
54 bitmap = image; 67 bitmap = imageBitmap;
55 var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. defaultOption = imageBitmap }); 68 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 }); 69 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 }); 70 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 }); 71 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 }); 72 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 }); 73 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 }); 74 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 }); 75 var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps. colorspaceDef = imageBitmap });
63 var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then( function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap }); 76 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 }); 77 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() { 78 Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
66 var alphaVal = 0; 79 var alphaVal = 0.5;
67 var testPassed = runTest(bitmaps, alphaVal, false); 80 var testPassed = runTest(bitmaps, alphaVal, false);
68 if (testPassed) 81 if (testPassed)
69 pass(); 82 pass();
70 finishJSTest(); 83 finishJSTest();
71 }, function() { 84 }, function() {
72 promiseRejected(); 85 promiseRejected();
73 finishJSTest(); 86 finishJSTest();
74 }); 87 });
75 }, function() { 88 }, function() {
76 promiseRejected(); 89 promiseRejected();
(...skipping 10 matching lines...) Expand all
87 generateTest(); 100 generateTest();
88 } 101 }
89 </script> 102 </script>
90 </head> 103 </head>
91 <body onload="init()"> 104 <body onload="init()">
92 <canvas id="texcanvas" width="2" height="2"></canvas> 105 <canvas id="texcanvas" width="2" height="2"></canvas>
93 <canvas id="example" width="32" height="32"></canvas> 106 <canvas id="example" width="32" height="32"></canvas>
94 <div id="results">Test <span style="color:red">FAILED</span></div> 107 <div id="results">Test <span style="color:red">FAILED</span></div>
95 </body> 108 </body>
96 </html> 109 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698