| <html> |
| <head> |
| <style> |
| img { border: 1px solid black; } |
| pre { display: inline-block; margin: 5px; } |
| </style> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function draw() |
| { |
| var canvas = document.getElementById("canvas"); |
| var ctx = canvas.getContext("2d"); |
| |
| ctx.fillStyle = "rgb(200,0,0)"; |
| ctx.fillRect(10, 10, 55, 50); |
| ctx.fillStyle = "rgba(0, 0, 200, 0.5)"; |
| ctx.fillRect(30, 30, 55, 50); |
| |
| testToDataURL(); |
| } |
| |
| // Default list of supported image formats. |
| var supportedMIMETypes = [ |
| "image/png", |
| "image/jpeg", |
| "image/gif", |
| ]; |
| |
| function testToDataURL() |
| { |
| // Test supported MIME types |
| for (var i in supportedMIMETypes) { |
| testMIMEType(supportedMIMETypes[i]); |
| } |
| |
| // Test no MIME type |
| testMIMEType(); |
| testMIMEType(null); |
| testMIMEType(undefined); |
| |
| // Test other formats that we don't support |
| testMIMEType("image/x-webkitbitmap"); |
| } |
| |
| function testMIMEType(mime) |
| { |
| var canvas = document.getElementById("canvas"); |
| |
| var hadArgument = arguments.length; |
| var url; |
| if (!hadArgument) |
| url = canvas.toDataURL(); |
| else |
| url = canvas.toDataURL(mime); |
| |
| var image = document.createElement("img"); |
| image.src = url; |
| var usedMIMEType = url.substring(5, url.search(/;/)); |
| document.body.appendChild(image); |
| var info = document.createElement("pre"); |
| info.appendChild(document.createTextNode("Given MIMEType: " + (hadArgument ? mime : ""))); |
| info.appendChild(document.createTextNode("\n")); |
| info.appendChild(document.createTextNode("Used MIMEType: " + usedMIMEType)); |
| info.appendChild(document.createTextNode("\n")); |
| info.appendChild(document.createTextNode((mime == usedMIMEType) ? "MIME types are the SAME." : "MIME types DIFFER.")); |
| info.appendChild(document.createTextNode("\n\n")); |
| |
| document.body.appendChild(info); |
| document.body.appendChild(document.createElement("hr")); |
| } |
| </script> |
| </head> |
| <body onload="draw();"> |
| <canvas id="canvas" width="150" height="150"></canvas> The Actual Canvas <br><hr> |
| </body> |
| </html> |