[whatwg] Image.complete in broken state

Kornel Lesiński kornel at geekhood.net
Wed Oct 30 15:49:32 PDT 2013

The spec states:

> The IDL attribute `complete` must return true if […]The final task that  
> is queued by the networking task source once the resource has been  
> fetched has been queued, but has not yet been run, and the img element  
> is not in the broken state.
> The img element is completely available.


If I understand correctly the spec calls for Image.complete to be false  
when the image is broken — and this doesn't match implementations. At  
least Firefox, Chrome and Safari set image.complete == true when the image  
is broken. Test case:

<img src="data:image/gif,broken" onerror="alert(this.complete)">

Having complete == true set on broken images is actually useful: it allows  
distinguishing between images that haven't been loaded yet and images that  
have been loaded and failed to decode (.complete == true && .naturalWidth  
== 0).

regards, Kornel

More information about the whatwg mailing list