<br><br><div class="gmail_quote">On Wed, Dec 9, 2009 at 3:19 PM, Jonas Sicking <span dir="ltr"><jonas@sicking.cc></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Wed, Dec 9, 2009 at 3:18 PM, Jonas Sicking <jonas@sicking.cc> wrote:<br>
> On Wed, Dec 9, 2009 at 3:06 PM, James Robinson <<a href="mailto:jamesr@google.com">jamesr@google.com</a>> wrote:<br>
>> On Wed, Dec 9, 2009 at 2:57 PM, Jonas Sicking <jonas@sicking.cc> wrote:<br>
>>><br>
>>> On Wed, Dec 9, 2009 at 2:10 PM, James Robinson <<a href="mailto:jamesr@google.com">jamesr@google.com</a>> wrote:<br>
>>> > 2009/12/9 tali garsiel <<a href="mailto:t_garsiel@hotmail.com">t_garsiel@hotmail.com</a>><br>
>>> >><br>
>>> >> Well, not completely.<br>
>>> >> Regarding the first question- Webkit guys told me (on their IRC<br>
>>> >> channel)<br>
>>> >> that the don't block the parser and only block scripts that request<br>
>>> >> visual<br>
>>> >> information, so I'm still  confused.<br>
>>> ><br>
>>> > Here's my understanding of the implementation inside WebKit currently:<br>
>>> > During parsing, WebKit does not block the parser on stylesheet loads,<br>
>>> > but<br>
>>> > does block external scripts from running until previously-encountered<br>
>>> > stylesheets have loaded.  WebKit does not suspend script execution on<br>
>>> > requests for visual information if stylesheets have not loaded (for<br>
>>> > example<br>
>>> > for inline scripts or in the case of stylesheets added dynamically after<br>
>>> > parsing has completed).  WebKit does suspend parsing of the document on<br>
>>> > script loads, but has a speculative preloader to attempt to start<br>
>>> > fetches<br>
>>> > for resources past the <script> tag.<br>
>>><br>
>>> Why does webkit treat external scripts different from inline scripts<br>
>>> here? I.e. why is an inline script allowed to run even if there are<br>
>>> pending stylesheet loads, but external scripts not? That seems<br>
>>> inconsistent and confusing.<br>
>>><br>
>>> Is this considered a bug or desired behavior?<br>
>><br>
>> The<br>
>> former: <a href="http://trac.webkit.org/browser/trunk/WebCore/html/HTMLTokenizer.cpp#L2017" target="_blank">http://trac.webkit.org/browser/trunk/WebCore/html/HTMLTokenizer.cpp#L2017</a><br>
>> I'm not sure how much this matters in practice.  In theory, this is<br>
>> unobservable to the page unless it queries the loaded stylesheets directly<br>
>> or a property derived from layout both of which should suspend script<br>
>> execution.<br>
><br>
> Why is this more "in theory" for inline scripts than for external scripts?<br>
<br>
</div></div>Or rather, why is this more unobservable for inline scripts than for<br>
external scripts?<br></blockquote><div><br></div><div>You're right, there's no real difference in the observability of this behavior for inline vs external scripts.</div><div><br></div><div>- James</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
/ Jonas<br>
</font></blockquote></div><br>