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

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

Issue 20748002: Blob creation methods for ImageBitmap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 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 <!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
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698