Est-il un équivalent de toile de toDataURL méthode pour le SVG?

Je suis en train de charger une image svg, canvas pour la manipulation de pixels
J'ai besoin d'une méthode comme toDataURL ou getImageData pour svg

sur google Chrome/Safari, je peux essayer de le faire par le biais de l'image et de la toile

var img = new Image()
img.onload = function(){
  ctx.drawImage(img,0,0) //this correctly draws the svg image to the canvas! however...
  var dataURL = canvas.toDataURL(); //SECURITY_ERR: DOM Exception 18
  var data = ctx.getImageData(0,0,img.width, img.height).data //also SECURITY_ERR: DOM Exception 18
  }
  img.src = "image.svg" //that is an svg file. (same domain as html file :))

Mais j'obtiens des erreurs de sécurité.
D'une autre manière?

Voici une démo en live de le problème http://clstff.appspot.com/gist/462846 (vous pouvez voir la source)

Est le SVG image provenant d'un domaine différent? Si elle l'est, vous ne pouvez pas appeler toDataURL ou getImageData parce que la toile n'est pas "d'origine-propre".
Il est à venir à partir de la de domaine. J'ai même essayé de faire img.src = "data:image/svg+xml;base64,..." mais qui n'a pas fonctionné
Ce qui semble être un bug dans Webkit: bugs.webkit.org/show_bug.cgi?id=39059
J'ai regardé ce bug. Il dit que le problème est avec drawImage. Pour moi, drawImage œuvres. C'est le toDataURL ou getImageData qui ne fonctionne pas après que j'ai dessiner l'image.
Avez-vous essayé d'utiliser fabric.js pour charger SVG sur la toile, puis obtenir dataurl image?

OriginalL'auteur Drew LeSueur | 2010-07-03