Bug 33029

Summary: Re: Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
Product: WebKit Reporter: Peter van der Zee <webkit>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, annevk, ap, evan, ian, oliver, rofreg, sam, webkit
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
URL: http://members.shaw.ca/briantclee/canvas.html

Description Peter van der Zee 2009-12-29 14:51:02 PST
Reopening 29305 due to regression. Note that the Chrome nightly (r30453) on Windows currently does not show this problem. The WebKit nightly (r52593) on Windows does.

Original report follows:
---

Importing issue http://code.google.com/p/chromium/issues/detail?id=21847

Reported by btlee@google.com, Yesterday (36 hours ago)
Chrome Version       : 4.0.206.1 (Official Build 25376)
URLs (if applicable) : http://members.shaw.ca/briantclee/canvas.html
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
     Safari 4: FAIL. 
  Firefox 3.x: OK
     Opera 10: OK
         IE 7: FAIL. Canvas not supported.
         IE 8: FAIL. Canvas not supported.


What steps will reproduce the problem?
1. Have a webpage:
   1. Create an Image from a data URL.
   2. Create a canvas.
   3. Draw the image to the canvas.
   4. Call canvas.toDataURL().
2. Launch the webpage.


What is the expected result?
toDataURL() returns a data URL for the image drawn to the canvas.

What happens instead?
Error in the console: "Uncaught Error: SECURITY_ERR: DOM Exception 18". 

Drawing from an image with source being a data URL seems to set the
origin-clean flag false. I don't think this should be although it doesn't
explicitly mention this in
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
Comment 1 Adam Barth 2010-03-29 10:27:37 PDT
Comment 5 by abarth@chromium.org, Sep 19, 2009
Fixed in http://trac.webkit.org/changeset/48556
Status: Fixed