- From: Jonas Sicking <jonas@sicking.cc>
- Date: Wed, 9 Dec 2009 15:18:51 -0800
On Wed, Dec 9, 2009 at 3:06 PM, James Robinson <jamesr at google.com> wrote: > 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 > 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. Why is this more "in theory" for inline scripts than for external scripts? / Jonas
Received on Wednesday, 9 December 2009 15:18:51 UTC