1 <pre id=
"console"></pre>
3 if (window
.testRunner
) {
4 testRunner
.dumpAsText();
5 testRunner
.waitUntilDone();
10 document
.getElementById('console').appendChild(document
.createTextNode(msg
+ "\n"));
13 testGetImageData = function(context
, description
)
15 description
= "Calling getImageData() from a canvas tainted by a " + description
;
17 var imageData
= context
.getImageData(0,0,100,100);
18 log("PASS: " + description
+ " was allowed.");
20 log("FAIL: " + description
+ " was not allowed - Threw error: " + e
+ ".");
24 testToDataURL = function(canvas
, description
)
26 description
= "Calling toDataURL() on a canvas tainted by a " + description
;
28 var dataURL
= canvas
.toDataURL();
29 log("PASS: " + description
+ " was allowed.");
31 log("FAIL: " + description
+ " was not allowed - Threw error: " + e
+ ".");
35 test = function(canvas
, description
)
37 testGetImageData(canvas
.getContext("2d"), description
);
38 testToDataURL(canvas
, description
);
41 var image
= new Image();
42 image
.onload = function() {
43 var canvas
= document
.createElement("canvas");
46 var context
= canvas
.getContext("2d");
48 // Test reading from a canvas after drawing a data URL image onto it
49 context
.drawImage(image
, 0, 0, 100, 100);
51 test(canvas
, "data URL image");
53 // Test reading after using a data URL pattern
54 canvas
= document
.createElement("canvas");
57 var context
= canvas
.getContext("2d");
58 var remoteImagePattern
= context
.createPattern(image
, "repeat");
59 context
.fillStyle
= remoteImagePattern
;
60 context
.fillRect(0, 0, 100, 100);
62 test(canvas
, "data URL image pattern");
64 if (window
.testRunner
)
65 testRunner
.notifyDone();
69 image
.src
= "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1JREFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jqch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0vr4MkhoXe0rZigAAAABJRU5ErkJggg==";