Ian Hickson wrote:
I'm not convinced either of these are really great solutions. I think it'd be better just to have the script itself only block when it hits CSS-dependent APIs (though I recognise that that is a much harder problem in most rendering engines today).

I'm not sure how you envision this working. The run-to-completion semantics mean that while the script is working on the API call to return (which means that network events are being processed, etc), the following invariants need to be maintained (list very much not exhaustive):

1)  No setTimeout timers fire.
2)  No XMLHttpRequest state changes happen.
3)  No image load events fire.
4)  No stylesheet load events fire (for UAs that implement such an
    event on their <link> elements, as Gecko would like to do).
5)  No user interaction with the page or other pages that can reach the
    given page is allowed.

#5 makes it unlikely that a UA would want to go this route at all. #4 means that this approach would be incompatible with reasonable style load events... #1, #2, #3 all mean that networking needs to differentiate between the set of stylesheets we're waiting on and everything else.

-Boris


Reply via email to