Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../js/resources/js-test-pre.js"></script> | 4 <script src="../js/resources/js-test-pre.js"></script> |
| 5 </head> | 5 </head> |
| 6 <body> | 6 <body> |
| 7 <input type="file" name="file" id="file" onchange="onInputFileChange()"> | |
| 7 <script> | 8 <script> |
| 8 | 9 |
| 9 description("Ensure correct behavior of createImageBitmap for invalid inputs."); | 10 description("Ensure correct behavior of createImageBitmap for invalid inputs."); |
| 10 window.jsTestIsAsync = true; | 11 window.jsTestIsAsync = true; |
| 11 | 12 |
| 12 var InvalidStateError = "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable."; | 13 var InvalidStateError = "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable."; |
| 13 var TypeError = "TypeError: Type error"; | 14 var TypeError = "TypeError: Type error"; |
| 14 var IndexSizeError = "IndexSizeError: Index or size was negative, or greater tha n the allowed value."; | 15 var IndexSizeError = "IndexSizeError: Index or size was negative, or greater tha n the allowed value."; |
| 15 | 16 |
| 16 function shouldNotBeCalled(imageBitmap) { | 17 function shouldNotBeCalled(imageBitmap) { |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 37 video = document.createElement("video"); | 38 video = document.createElement("video"); |
| 38 video.addEventListener("canplaythrough", videoLoaded, false); | 39 video.addEventListener("canplaythrough", videoLoaded, false); |
| 39 | 40 |
| 40 // Before video loads | 41 // Before video loads |
| 41 shouldThrow("createImageBitmap(video, shouldNotBeCalled)", "InvalidStateError"); | 42 shouldThrow("createImageBitmap(video, shouldNotBeCalled)", "InvalidStateError"); |
| 42 video.src = "../../compositing/resources/video.ogv"; | 43 video.src = "../../compositing/resources/video.ogv"; |
| 43 | 44 |
| 44 var imageLoaded = false; | 45 var imageLoaded = false; |
| 45 var videoLoaded = false; | 46 var videoLoaded = false; |
| 46 var imageBitmapLoaded = false; | 47 var imageBitmapLoaded = false; |
| 48 var blobLoaded = false; | |
| 47 | 49 |
| 48 function imageLoaded() { | 50 function imageLoaded() { |
| 49 createImageBitmap(image, imageBitmapLoadedCallback); | 51 createImageBitmap(image, imageBitmapLoadedCallback); |
| 50 d = aCtx.getImageData(0, 0, 200, 200); | 52 d = aCtx.getImageData(0, 0, 200, 200); |
| 51 imageLoaded = true; | 53 imageLoaded = true; |
| 52 loaded(); | 54 loaded(); |
| 53 } | 55 } |
| 54 | 56 |
| 55 function videoLoaded() { | 57 function videoLoaded() { |
| 56 videoLoaded = true; | 58 videoLoaded = true; |
| 57 loaded(); | 59 loaded(); |
| 58 } | 60 } |
| 59 | 61 |
| 60 function imageBitmapLoadedCallback(imageBitmap) { | 62 function imageBitmapLoadedCallback(imageBitmap) { |
| 61 testBitmap = imageBitmap; | 63 testBitmap = imageBitmap; |
| 62 imageBitmapLoaded = true; | 64 imageBitmapLoaded = true; |
| 63 loaded(); | 65 loaded(); |
| 64 } | 66 } |
| 65 | 67 |
| 68 if (window.eventSender) { | |
| 69 window.onload = function() { | |
| 70 eventSender.beginDragWithFiles(['resources/pattern.png']); | |
| 71 moveMouseToCenterOfElement(document.getElementById('file')); | |
| 72 eventSender.mouseUp(); | |
|
Justin Novosad
2013/07/26 18:15:58
Same here. Use XmlHttpRequest
| |
| 73 }; | |
| 74 } | |
| 75 | |
| 76 function onInputFileChange() | |
| 77 { | |
| 78 var file = document.getElementById("file").files[0]; | |
| 79 var reader = new FileReader(); | |
| 80 reader.onload = function(event) { | |
| 81 blob = new Blob([event.target.result]); | |
| 82 blobLoaded = true; | |
| 83 loaded(); | |
| 84 } | |
| 85 reader.readAsArrayBuffer(file); | |
| 86 } | |
| 87 | |
| 88 function moveMouseToCenterOfElement(element) | |
| 89 { | |
| 90 var centerX = element.offsetLeft + element.offsetWidth / 2; | |
| 91 var centerY = element.offsetTop + element.offsetHeight / 2; | |
| 92 eventSender.mouseMoveTo(centerX, centerY); | |
| 93 } | |
| 94 | |
| 66 function loaded() { | 95 function loaded() { |
| 67 if (imageLoaded && videoLoaded && imageBitmapLoaded) { | 96 if (imageLoaded && videoLoaded && imageBitmapLoaded && blobLoaded) { |
| 68 shouldThrow("createImageBitmap(undefined, shouldNotBeCalled)", "TypeErro r"); | 97 shouldThrow("createImageBitmap(undefined, shouldNotBeCalled)", "TypeErro r"); |
| 69 | 98 |
| 70 shouldThrow("createImageBitmap(image, undefined)", "TypeError"); | 99 shouldThrow("createImageBitmap(image, undefined)", "TypeError"); |
| 71 shouldThrow("createImageBitmap(image, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); | 100 shouldThrow("createImageBitmap(image, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); |
| 72 shouldThrow("createImageBitmap(image, shouldNotBeCalled, 0, 0, 0, 10)", "IndexSizeError"); | 101 shouldThrow("createImageBitmap(image, shouldNotBeCalled, 0, 0, 0, 10)", "IndexSizeError"); |
| 73 | 102 |
| 74 shouldThrow("createImageBitmap(video, undefined)", "TypeError"); | 103 shouldThrow("createImageBitmap(video, undefined)", "TypeError"); |
| 75 shouldThrow("createImageBitmap(video, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); | 104 shouldThrow("createImageBitmap(video, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); |
| 76 shouldThrow("createImageBitmap(video, shouldNotBeCalled, 0, 0, 0, 10)", "IndexSizeError"); | 105 shouldThrow("createImageBitmap(video, shouldNotBeCalled, 0, 0, 0, 10)", "IndexSizeError"); |
| 77 | 106 |
| 78 shouldThrow("createImageBitmap(aCanvas, undefined)", "TypeError"); | 107 shouldThrow("createImageBitmap(aCanvas, undefined)", "TypeError"); |
| 79 shouldThrow("createImageBitmap(aCanvas, shouldNotBeCalled, 0, 0, 10, 0)" , "IndexSizeError"); | 108 shouldThrow("createImageBitmap(aCanvas, shouldNotBeCalled, 0, 0, 10, 0)" , "IndexSizeError"); |
| 80 shouldThrow("createImageBitmap(aCanvas, shouldNotBeCalled, 0, 0, 0, 10)" , "IndexSizeError"); | 109 shouldThrow("createImageBitmap(aCanvas, shouldNotBeCalled, 0, 0, 0, 10)" , "IndexSizeError"); |
| 81 | 110 |
| 82 shouldThrow("createImageBitmap(d, undefined)", "TypeError"); | 111 shouldThrow("createImageBitmap(d, undefined)", "TypeError"); |
| 83 shouldThrow("createImageBitmap(d, shouldNotBeCalled, 0, 0, 10, 0)", "Ind exSizeError"); | 112 shouldThrow("createImageBitmap(d, shouldNotBeCalled, 0, 0, 10, 0)", "Ind exSizeError"); |
| 84 shouldThrow("createImageBitmap(d, shouldNotBeCalled, 0, 0, 0, 10)", "Ind exSizeError"); | 113 shouldThrow("createImageBitmap(d, shouldNotBeCalled, 0, 0, 0, 10)", "Ind exSizeError"); |
| 85 | 114 |
| 86 shouldThrow("createImageBitmap(aCtx, undefined)", "TypeError"); | 115 shouldThrow("createImageBitmap(aCtx, undefined)", "TypeError"); |
| 87 shouldThrow("createImageBitmap(aCtx, shouldNotBeCalled, 0, 0, 10, 0)", " IndexSizeError"); | 116 shouldThrow("createImageBitmap(aCtx, shouldNotBeCalled, 0, 0, 10, 0)", " IndexSizeError"); |
| 88 shouldThrow("createImageBitmap(aCtx, shouldNotBeCalled, 0, 0, 0, 10)", " IndexSizeError"); | 117 shouldThrow("createImageBitmap(aCtx, shouldNotBeCalled, 0, 0, 0, 10)", " IndexSizeError"); |
| 89 | 118 |
| 119 shouldThrow("createImageBitmap(blob, undefined)", "TypeError"); | |
| 120 shouldThrow("createImageBitmap(blob, shouldNotBeCalled, 0, 0, 10, 0)", " IndexSizeError"); | |
| 121 shouldThrow("createImageBitmap(blob, shouldNotBeCalled, 0, 0, 0, 10)", " IndexSizeError"); | |
| 122 | |
| 90 shouldThrow("createImageBitmap(testBitmap, undefined)", "TypeError"); | 123 shouldThrow("createImageBitmap(testBitmap, undefined)", "TypeError"); |
| 91 shouldThrow("createImageBitmap(testBitmap, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); | 124 shouldThrow("createImageBitmap(testBitmap, shouldNotBeCalled, 0, 0, 10, 0)", "IndexSizeError"); |
| 92 shouldThrow("createImageBitmap(testBitmap, shouldNotBeCalled, 0, 0, 0, 1 0)", "IndexSizeError"); | 125 shouldThrow("createImageBitmap(testBitmap, shouldNotBeCalled, 0, 0, 0, 1 0)", "IndexSizeError"); |
| 93 | 126 |
| 94 finishJSTest(); | 127 finishJSTest(); |
| 95 } | 128 } |
| 96 } | 129 } |
| 97 | 130 |
| 98 </script> | 131 </script> |
| 99 <script src="../js/resources/js-test-post.js"></script> | 132 <script src="../js/resources/js-test-post.js"></script> |
| 100 </body> | 133 </body> |
| 101 </html> | 134 </html> |
| OLD | NEW |