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