[IMP]testing for chrome this code from runbot.

bzr revid: vme@tinyerp.com-20121023083856-5jgq3dtdmp3e1m40
This commit is contained in:
Vidhin Mehta (OpenERP)
2012-10-23 14:08:56 +05:30
parent cf3f05d58b
commit 731ca3aaa3
+52
View File
@@ -242,6 +242,58 @@ instance.web.Loading = instance.web.Widget.extend({
this.session.on("request", this, this.request_call);
this.session.on("response", this, this.response_call);
this.session.on("response_failed", this, this.response_call);
this.draw_favicon(50);
},
draw_favicon: function(percentage){
var self = this;
var canvas = this.get_canvas();
var faviconImage = new Image();
var context = canvas.getContext("2d");
faviconImage.onload = function() {
console.log("Image Loaded");
if (context) {
context.clearRect(0, 0, 16, 16);
// Draw shadow
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), 0, Math.PI * 2, false);
context.fillStyle = "red";
context.fill();
// Draw background
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, 0, Math.PI * 2, false);
context.fillStyle = "yellow";
context.fill();
// Draw pie
if (percentage > 0) {
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, (-0.5) * Math.PI, (-0.5 + 2 * percentage / 100) * Math.PI, false);
context.lineTo(canvas.width / 2, canvas.height / 2);
context.fillStyle = "white";
context.fill();
}
var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'icon';
link.href = canvas.toDataURL();
var src = $('link[type="image/x-icon"]').attr("href");
if (!src.match(/^data/)) {
faviconImage.crossOrigin = 'anonymous';
}
document.getElementsByTagName('head')[0].appendChild(link);
console.log("canvas to url",canvas.toDataURL());
}
}
faviconImage.src = $('link[type="image/x-icon"]').attr("href");
console.log("favicon",faviconImage);
},
get_canvas: function(){
canvas = document.createElement("canvas");
canvas.width = 16;
canvas.height = 16;
return canvas;
},
destroy: function() {
this.on_rpc_event(-this.count);