Re: drawImage() shouldn't throw INVALID_STATE_ERR

On Fri, 14 Aug 2009 03:54:08 +0200, Ian Hickson <> 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  

Simon Pieters
Opera Software

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