[whatwg] style sheet blocking scripts

On Wed, Dec 9, 2009 at 2:57 PM, Jonas Sicking <jonas at sicking.cc> wrote:

> On Wed, Dec 9, 2009 at 2:10 PM, James Robinson <jamesr at google.com> wrote:
> > 2009/12/9 tali garsiel <t_garsiel at hotmail.com>
> >>
> >> Well, not completely.
> >> Regarding the first question- Webkit guys told me (on their IRC channel)
> >> that the don't block the parser and only block scripts that request
> visual
> >> information, so I'm still  confused.
> >
> > Here's my understanding of the implementation inside WebKit currently:
> > During parsing, WebKit does not block the parser on stylesheet loads, but
> > does block external scripts from running until previously-encountered
> > stylesheets have loaded.  WebKit does not suspend script execution on
> > requests for visual information if stylesheets have not loaded (for
> example
> > for inline scripts or in the case of stylesheets added dynamically after
> > parsing has completed).  WebKit does suspend parsing of the document on
> > script loads, but has a speculative preloader to attempt to start fetches
> > for resources past the <script> tag.
>
> Why does webkit treat external scripts different from inline scripts
> here? I.e. why is an inline script allowed to run even if there are
> pending stylesheet loads, but external scripts not? That seems
> inconsistent and confusing.
>
> Is this considered a bug or desired behavior?
>

The former:
http://trac.webkit.org/browser/trunk/WebCore/html/HTMLTokenizer.cpp#L2017

<http://trac.webkit.org/browser/trunk/WebCore/html/HTMLTokenizer.cpp#L2017>I'm
not sure how much this matters in practice.  In theory, this is unobservable
to the page unless it queries the loaded stylesheets directly or a property
derived from layout both of which should suspend script execution.

- James


>
> / Jonas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20091209/8cf4fa8c/attachment.htm>

Received on Wednesday, 9 December 2009 15:06:00 UTC