Fix Color Thief cross origin bug

When users have external avatar urls (for instance: in a SSO environment where the avatar is provided by another domain), color thief fails to get the avatar dominant color because the canvas would be tainted. 

Following the instructions here (https://lokeshdhakar.com/projects/color-thief/ on the "Does it work if the image is hosted on another domain?"), adding an `image.crossOrigin = 'Anonymous';` solves the issue.

Tested on my forum which before suffered from a JS error and works fine (without this fix, the canvas remain in the `body` while an script error is thrown by color thief)
This commit is contained in:
J.C.Ködel 2019-09-21 20:02:22 -03:00 committed by Daniël Klabbers
parent fef6612d62
commit 41e97db5d0

View File

@ -91,6 +91,7 @@ Object.assign(User.prototype, {
user.freshness = new Date();
m.redraw();
};
image.crossOrigin = 'Anonymous';
image.src = this.avatarUrl();
},