[Bug 9584] New: drawImage() shouldn't throw INVALID_STATE_ERR

http://www.w3.org/Bugs/Public/show_bug.cgi?id=9584

           Summary: drawImage() shouldn't throw INVALID_STATE_ERR
           Product: HTML WG
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P3
         Component: HTML5 spec bugs
        AssignedTo: dave.null@w3.org
        ReportedBy: jmann@microsoft.com
         QAContact: public-html-bugzilla@w3.org
                CC: ian@hixie.ch, mike@w3.org, public-html@w3.org


Per this
conversation,http://lists.w3.org/Archives/Public/public-html/2009Aug/1458.html,
we need to update the spec.

On Fri, 28 Aug 2009 03:03:19 +0200, Ian Hickson <ian@hixie.ch> wrote:

> On Mon, 17 Aug 2009, Simon Pieters wrote:
>> On Fri, 14 Aug 2009 03:54:08 +0200, Ian Hickson <ian@hixie.ch> wrote:
>> > On Thu, 6 Aug 2009, Simon Pieters wrote:
>> > >
>> > > The spec says that canvas drawImage() should throw INVALID_STATE_ERR
>> > > when the image isn't loaded yet or video isn't enough loaded. I
>> > > think this is a bad idea.
>> > >
>> > > I expect authors to just draw a video on a canvas when they see fit,
>> > > test locally or on a stable network, see that it works fine. Then
>> > > the script will stop working completely for some users because of
>> > > the uncaught exception when the script tries to drawImage() a video
>> > > that's not ready yet.
>> > >
>> > > Moreover, Opera has lazy loading of images (only loading images that
>> > > are rendered or have some event handlers or were created with new
>> > > Image() etc), so we'd probably want to just load the image when the
>> > > script tries to draw it instead of throwing.
>> > >
>> > > Therefore I suggest that the spec be changed to not throw
>> > > INVALID_STATE_ERR for drawImage() (and createPattern()).
>> > >
>> > > The method could be changed from void to return a boolean,
>> > > indicating whether the image was successfully drawn, so scripts can
>> > > detect it easily.
>> >
>> > What should createPattern() return in this situation?
>>
>> It should return null, which will be ignored when set on fillStyle and
>> strokeStyle.
>
> Done. (It still doesn't return false, though, since you can detect this
> case yourself if you really care.)
>

It looks like you missed two instances of INVALID_STATE_ERR, in the green  
boxes for context.drawImage and context.createPattern. I can't tell if  
these boxes are normative spec text or just a summary of the information  
below, but that's not the point here...

-- 
Philip Jägenstedt
Core Developer
Opera Software

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Friday, 23 April 2010 02:22:23 UTC