[whatwg] Link.onload; defer on style, depends

Ian Hickson wrote:
> The spec requires the page 'load' event to be fired asynchronously. 
> (There's no black-box way to distinguish this from the case of waiting for 
> the other 'load' events to have fired, as far as I can tell.)

Phrased that way, yes.  But maybe I wasn't clear on the exact behavior 
Gecko has here.  For image load events, not only does the async event 
prevent the page load from firing until after it has fired, but it also 
prevents _checking_ whether the page load should fire until after it has 
fired.  So if the image load event has a listener that starts new 
network requests, the page load would not fire until after those 
requests complete.  In your proposed model above, whether it does or not 
depends on the precise order in which the image's async load event races 
with other network access.  If it fires before all other network access 
is complete (and therefore before your proposed async page load event 
has been posted), the page load event will wait for the load started 
from the onload handler.  If not, then it won't.

There are pros and cons to both setups, I guess; the race above is no 
worse than a network request whose completion would trigger onload 
racing against a timeout that starts a network request...

-Boris

Received on Monday, 27 April 2009 22:46:10 UTC