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

Side by Side Diff: LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html

Issue 19705006: Use SkImage as a backing store for copying 2d Contexts to ImageBitmaps. Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script src="../js/resources/js-test-pre.js"></script> 3 <script src="../js/resources/js-test-pre.js"></script>
4 </head> 4 </head>
5 <body> 5 <body>
6 <script> 6 <script>
7 description("Ensure correct behavior of drawImage with ImageBitmaps constructed from ImageBitmaps that are constructed from images (not pinned to memory) and ca nvases (pinned to memory)."); 7 description("Ensure correct behavior of drawImage with ImageBitmaps constructed from ImageBitmaps that are constructed from images (not pinned to memory) and ca nvases (pinned to memory).");
8 8
9 window.jsTestIsAsync = true; 9 window.jsTestIsAsync = true;
10 10
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 var canvas = document.createElement("canvas"); 52 var canvas = document.createElement("canvas");
53 canvas.setAttribute("width", "50"); 53 canvas.setAttribute("width", "50");
54 canvas.setAttribute("height", "50"); 54 canvas.setAttribute("height", "50");
55 var ctx = canvas.getContext("2d"); 55 var ctx = canvas.getContext("2d");
56 56
57 image = new Image(); 57 image = new Image();
58 image.onload = imageLoaded; 58 image.onload = imageLoaded;
59 image.src = aCanvas.toDataURL(); 59 image.src = aCanvas.toDataURL();
60 60
61 function imageLoaded() { 61 function imageLoaded() {
62 var bitmapFromImage, bitmapFromCanvas; 62 var bitmaps = {};
63 var p1 = createImageBitmap(image, -10, -10, 20, 20).then(function(imageBitma p) { bitmapFromImage = imageBitmap }); 63 var p0 = createImageBitmap(image, -10, -10, 20, 20).then(function(imageBitma p) { bitmaps.upperLeft1 = imageBitmap });
64 var p2 = createImageBitmap(aCanvas, 10, 10, 20, 20).then(function(imageBitma p) { bitmapFromCanvas = imageBitmap }); 64 var p1 = createImageBitmap(aCanvas, -10, -10, 20, 20).then(function(imageBit map) { bitmaps.upperLeft2 = imageBitmap });
65 Promise.every(p1, p2).then(function() { 65 var p2 = createImageBitmap(image, 10, 10, 20, 20).then(function(imageBitmap) { bitmaps.lowerRight1 = imageBitmap });
66 checkBitmaps(bitmapFromImage, bitmapFromCanvas); 66 var p3 = createImageBitmap(aCanvas, 10, 10, 20, 20).then(function(imageBitma p) { bitmaps.lowerRight2 = imageBitmap });
67 Promise.every(p0, p1, p2, p3).then(function() {
68 checkBitmaps(bitmaps);
67 }, shouldNotBeCalled); 69 }, shouldNotBeCalled);
68 } 70 }
69 71
70 function checkBitmaps(bitmapFromImage, bitmapFromCanvas) { 72 function checkBitmaps(bitmaps) {
71 var funcs = []; 73 var funcs = [];
72 var p1 = createImageBitmap(bitmapFromImage).then(function(imageBitmap) { 74 var p0 = createImageBitmap(bitmaps.upperLeft1).then(function(imageBitmap) {
73 funcs[0] = checkDrawnToRect(imageBitmap, 10, 10, 10, 10); 75 funcs[0] = checkDrawnToRect(imageBitmap, 10, 10, 10, 10);
74 }); 76 });
75 var p2 = createImageBitmap(bitmapFromImage, -10, -10, 30, 30).then(function( imageBitmap) { 77 var p1 = createImageBitmap(bitmaps.upperLeft1, -10, -10, 30, 30).then(functi on(imageBitmap) {
76 funcs[1] = checkDrawnToRect(imageBitmap, 20, 20, 10, 10); 78 funcs[1] = checkDrawnToRect(imageBitmap, 20, 20, 10, 10);
77 }); 79 });
78 var p3 = createImageBitmap(bitmapFromImage, 10, 10, 20, 20).then(function(im ageBitmap) { 80 var p2 = createImageBitmap(bitmaps.upperLeft1, 10, 10, 20, 20).then(function (imageBitmap) {
79 funcs[2] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); 81 funcs[2] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10);
80 }); 82 });
81 var p4 = createImageBitmap(bitmapFromCanvas).then(function(imageBitmap) { 83 var p3 = createImageBitmap(bitmaps.upperLeft2).then(function(imageBitmap) {
82 funcs[3] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); 84 funcs[3] = checkDrawnToRect(imageBitmap, 10, 10, 10, 10);
83 }); 85 });
84 var p5 = createImageBitmap(bitmapFromCanvas, -15, -10, 35, 40).then(function (imageBitmap) { 86 var p4 = createImageBitmap(bitmaps.upperLeft2, -10, -10, 30, 30).then(functi on(imageBitmap) {
85 funcs[4] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10); 87 funcs[4] = checkDrawnToRect(imageBitmap, 20, 20, 10, 10);
86 }); 88 });
87 var p6 = createImageBitmap(bitmapFromCanvas, 5, 5, 10, 10).then(function(ima geBitmap) { 89 var p5 = createImageBitmap(bitmaps.upperLeft2, 10, 10, 20, 20).then(function (imageBitmap) {
88 funcs[5] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5); 90 funcs[5] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10);
89 }); 91 });
90 Promise.every(p1, p2, p3, p4, p5, p6).then(function() { 92 var p6 = createImageBitmap(bitmaps.lowerRight1).then(function(imageBitmap) {
93 funcs[6] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10);
94 });
95 var p7 = createImageBitmap(bitmaps.lowerRight1, -15, -10, 35, 40).then(funct ion(imageBitmap) {
96 funcs[7] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10);
97 });
98 var p8 = createImageBitmap(bitmaps.lowerRight1, 5, 5, 10, 10).then(function( imageBitmap) {
99 funcs[8] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5);
100 });
101 var p9 = createImageBitmap(bitmaps.lowerRight2).then(function(imageBitmap) {
102 funcs[9] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10);
103 });
104 var p10 = createImageBitmap(bitmaps.lowerRight2, -15, -10, 35, 40).then(func tion(imageBitmap) {
105 funcs[10] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10);
106 });
107 var p11 = createImageBitmap(bitmaps.lowerRight2, 5, 5, 10, 10).then(function (imageBitmap) {
108 funcs[11] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5);
109 });
110
111 Promise.every(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11).then(functio n() {
91 for (var i = 0; i < funcs.length; ++i) 112 for (var i = 0; i < funcs.length; ++i)
92 funcs[i](); 113 funcs[i]();
93 finishJSTest(); 114 finishJSTest();
94 }, shouldNotBeCalled); 115 }, shouldNotBeCalled);
95 } 116 }
96 117
97 function checkDrawnToRect(bitmap, x, y, w, h) { 118 function checkDrawnToRect(bitmap, x, y, w, h) {
98 // x, y, w, h are the expected location of the green square 119 // x, y, w, h are the expected location of the green square
99 var imageBitmap = bitmap; 120 var imageBitmap = bitmap;
100 var x1 = x; 121 var x1 = x;
(...skipping 28 matching lines...) Expand all
129 clearContext(ctx); 150 clearContext(ctx);
130 ctx.drawImage(imageBitmap, x1, y1, w1, h1, 0, 0, 50, 50); 151 ctx.drawImage(imageBitmap, x1, y1, w1, h1, 0, 0, 50, 50);
131 shouldBeFilled(0, 0, 50, 50); 152 shouldBeFilled(0, 0, 50, 50);
132 } 153 }
133 } 154 }
134 155
135 </script> 156 </script>
136 <script src="../js/resources/js-test-post.js"></script> 157 <script src="../js/resources/js-test-post.js"></script>
137 </body> 158 </body>
138 </html> 159 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698