drawImage() shouldn't throw INVALID_STATE_ERR

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.

-- 
Simon Pieters
Opera Software

Received on Thursday, 6 August 2009 09:16:27 UTC