Bug 123978
Summary: | CORS enabled data:URL images fail to load | ||
---|---|---|---|
Product: | WebKit | Reporter: | Stefan Kienzle <stefankienzle.de> |
Component: | Images | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | syoichi, youennf |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Mac | ||
OS: | OS X 10.9 | ||
Bug Depends on: | 109199 | ||
Bug Blocks: |
Stefan Kienzle
Steps to reproduce the problem:
I want to load CORS enabled data:URL images (in JS or HTML) - both cases are failing.
JS:
var img = document.createElement('img');
img.onload = function () {
...
};
img.crossOrigin = '';
img.src = <data-url>;
HTML:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAlQTFRFa2tr3Nzc////HKA8dAAAAD9JREFUeNpiYCAAmMCAkQkrTaQ0DkAdaZx2AxmMQAAmYUwmGDmoXU6ZNCPCl5jkoHY5ZU4jyt+D0uV4DQcIMADuxwY6Y1aBvAAAAABJRU5ErkJggg==" crossorigin />
Open this jsfiddle: http://jsfiddle.net/Kienz/Dv3Eu/
You should see three w3c images!
What is the expected behavior?
Images should be loaded.
What went wrong?
The images don't load and you got the following error in dev console:
Cross-origin image load denied by Cross-Origin Resource Sharing policy.
In Safari 5.1 (Windows 7) it works. Safari 7 (Mac OS 10.9) it fails.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
youenn fablet
The case of crossorigin="anonymous" should be handled once data url processing is handled within WebCore (see bug 109199).