Skip to content

Commit

Permalink
test if canvas has become tainted
Browse files Browse the repository at this point in the history
  • Loading branch information
niklasvh committed Mar 1, 2012
1 parent 1447b03 commit c86d12b
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions src/plugins/jquery.plugin.html2canvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,37 @@
options.elements = this;
options.flashcanvas = "../external/flashcanvas.min.js";

html2canvas.logging = options && options.logging;
html2canvas.logging = options && options.logging;
options.complete = function(images){
var queue = html2canvas.Parse(this[0], images, options),
$canvas = $(html2canvas.Renderer(queue, options)),
finishTime = new Date();
var queue = html2canvas.Parse(this[0], images, options),
$canvas = $(html2canvas.Renderer(queue, options)),
finishTime = new Date();

if (options && options.profile && window.console && window.console.profileEnd) {
console.profileEnd();
}
$canvas.css({ position: 'absolute', left: 0, top: 0 }).appendTo(document.body);
$canvas.siblings().toggle();
if (options && options.profile && window.console && window.console.profileEnd) {
console.profileEnd();
}
$canvas.css({
position: 'absolute',
left: 0,
top: 0
}).appendTo(document.body);
$canvas.siblings().toggle();

$(window).click(function(){
$canvas.toggle().siblings().toggle();
throwMessage("Canvas Render " + ($canvas.is(':visible') ? "visible" : "hidden"));
});
throwMessage('Screenshot created in '+ ((finishTime.getTime()-timer)) + " ms<br />",4000);
$(window).click(function(){
$canvas.toggle().siblings().toggle();
throwMessage("Canvas Render " + ($canvas.is(':visible') ? "visible" : "hidden"));
});
throwMessage('Screenshot created in '+ ((finishTime.getTime()-timer)) + " ms<br />",4000);

// test if canvas is read-able
try {
$canvas[0].toDataURL();
} catch(e) {
if ($canvas[0].nodeName.toLowerCase() === "canvas") {
// TODO, maybe add a bit less offensive way to present this, but still something that can easily be noticed
alert("Canvas is tainted, unable to read data");
}
}

};
html2canvas.Preload(this[0], options);
Expand Down

0 comments on commit c86d12b

Please sign in to comment.