OLD | NEW |
(Empty) | |
| 1 <html> |
| 2 <body> |
| 3 <script> |
| 4 if (window.testRunner) |
| 5 window.testRunner.waitUntilDone(); |
| 6 |
| 7 var aCanvas = document.createElement('canvas'); |
| 8 aCanvas.setAttribute('width', '10'); |
| 9 aCanvas.setAttribute('height', '10'); |
| 10 var aCtx = aCanvas.getContext('2d'); |
| 11 aCtx.fillStyle = 'green'; |
| 12 aCtx.fillRect(0, 0, 20, 20); |
| 13 |
| 14 var bCanvas = document.createElement('canvas'); |
| 15 bCanvas.setAttribute('width', '10'); |
| 16 bCanvas.setAttribute('height', '10'); |
| 17 var bCtx = bCanvas.getContext('2d'); |
| 18 bCtx.fillStyle = 'red'; |
| 19 bCtx.fillRect(0, 0, 20, 20); |
| 20 |
| 21 var canvas = document.createElement('canvas'); |
| 22 canvas.setAttribute('width', '40'); |
| 23 canvas.setAttribute('height', '30'); |
| 24 var ctx = canvas.getContext('2d'); |
| 25 document.body.appendChild(canvas); |
| 26 |
| 27 var image = new Image(); |
| 28 image.onload = imageLoaded; |
| 29 image.src = aCanvas.toDataURL(); |
| 30 |
| 31 var d; |
| 32 |
| 33 function imageLoaded() { |
| 34 d = aCtx.getImageData(0, 0, 10, 10); |
| 35 createImageBitmap(image, callback('Image')); |
| 36 createImageBitmap(d, callback('Data')); |
| 37 createImageBitmap(aCanvas, callback('Canvas')); |
| 38 } |
| 39 |
| 40 var imageBitmapImage, imageBitmapData, imageBitmapCanvas; |
| 41 var i = 0; |
| 42 function callback(name) { |
| 43 var name = name; |
| 44 return function(imageBitmap) { |
| 45 switch(name) { |
| 46 case 'Image': |
| 47 imageBitmapImage = imageBitmap; |
| 48 image.onload = draw(imageBitmapImage); |
| 49 image.src = bCanvas.toDataURL(); |
| 50 createImageBitmap(imageBitmapImage, callback('ImageBitmapImage')); |
| 51 break; |
| 52 case 'Data': |
| 53 imageBitmapData = imageBitmap; |
| 54 d = 0; |
| 55 ctx.drawImage(imageBitmapData, 11, 0); |
| 56 createImageBitmap(imageBitmapData, callback('ImageBitmapData')); |
| 57 checkIfDone(); |
| 58 break; |
| 59 case 'Canvas': |
| 60 imageBitmapCanvas = imageBitmap; |
| 61 aCtx.clearRect(0, 0, 10, 10); |
| 62 ctx.drawImage(imageBitmapCanvas, 22, 0); |
| 63 createImageBitmap(imageBitmapCanvas, callback('ImageBitmapCanvas')); |
| 64 checkIfDone(); |
| 65 break; |
| 66 case 'ImageBitmapImage': |
| 67 imageBitmapImage = 0; |
| 68 ctx.drawImage(imageBitmap, 0, 11); |
| 69 checkIfDone(); |
| 70 break; |
| 71 case 'ImageBitmapData': |
| 72 d = 0; |
| 73 imageBitmapData = 0; |
| 74 ctx.drawImage(imageBitmap, 11, 11); |
| 75 checkIfDone(); |
| 76 break; |
| 77 case 'ImageBitmapCanvas': |
| 78 aCtx.clearRect(0, 0, 10, 10); |
| 79 imageBitmapCanvas = 0; |
| 80 ctx.drawImage(imageBitmap, 22, 11); |
| 81 checkIfDone(); |
| 82 break; |
| 83 } |
| 84 } |
| 85 } |
| 86 |
| 87 function draw(imageBitmap) { |
| 88 ctx.drawImage(imageBitmap, 0, 0); |
| 89 checkIfDone(); |
| 90 } |
| 91 |
| 92 function checkIfDone() { |
| 93 if (++i == 6 && window.testRunner) |
| 94 window.testRunner.notifyDone(); |
| 95 } |
| 96 |
| 97 </script> |
| 98 <p>There should be 6 green squares displayed in a 2 row by 3 column grid.</p> |
| 99 </body> |
| 100 </html> |
OLD | NEW |