Re: Executing script-inserted external scripts in insertion order

On Fri, 08 Oct 2010 18:07:56 +0900, Henri Sivonen <hsivonen@iki.fi> wrote:

> Gecko's previous execution order behavior isn't really desirable.  
> Specifically, enforcing insertion order execution among script-inserted  
> inline scripts and script-inserted external scripts leads to  
> site-breaking surprising effects when a previously inserted  
> script-inserted external script is pending and causes a subsequent  
> script-inserted inline script not to execute synchronously. To address  
> this problem I recently implemented what HTML5 specifies in Gecko.

Hi Henri,
can I ask you what a test like this one will output with your new  
algorithm?
http://testsuites.opera.com/script-execution/015.html

 From the description, I'd expect the output to start with 'internal script  
#1, head script #1, head script #2, end script #1..' (ignore pass/fail, as  
we haven't had any proper spec here prior to HTML5 the pass/fail  
indication simply reflects whatever browser I thought made the most sense  
back when the tests were written).

> While doing that, another undesirable characteristic of Gecko's old  
> behavior got fixed. Previously, script-inserted external scripts would  
> block subsequent parser-inserted scripts

Does this make "external script #2" run before "external script #1" in  
this test:
http://t/core/standards/scripts/scheduler/050.html ? (Pardon the  
complexity of the test, it does test a complex topic after all :-p)

What about this test:
http://testsuites.opera.com/script-execution/081.html

Will both the parser-inserted external and the parser-inserted internal  
script run before the slow loading external script? (Test expects  
insertion order.. for now but probably not for much longer ;-))
(Variation: http://testsuites.opera.com/script-execution/082.html )

-- 
Hallvord R. M. Steen, Core Tester, Opera Software
http://www.opera.com http://my.opera.com/hallvors/

Received on Wednesday, 24 November 2010 04:48:43 UTC