Re: drawImage() shouldn't throw INVALID_STATE_ERR

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.

-- 
Simon Pieters
Opera Software

Received on Monday, 17 August 2009 14:11:51 UTC