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 |