@@ -18369,28 +18373,22 @@ XXX selection ranges -->

The transitive closure of all the scripting contexts that are reachable scripting contexts consists of a unit of related scripting contexts.

All the executable code in a unit of related scripting - contexts must execute on a single conceptual thread. While a - script is executing, no other scripts in that unit of related - scripting contexts must be started.

- -

Events fired by the user agent in response to user actions must - be queued, as must the execution of any timers. There must be only - one queue per unit of related scripting contexts. When - no script in the unit of related scripting contexts is - executing, the oldest entry in the queue must be processed, either - by firing the appropriate event, or by executing the relevant timer - callback code.

- + contexts must execute on a single conceptual thread. The + dispatch of events fired by the user agent (e.g. in response to user + actions or network activity) and the execution of any scripts + associated with timers must be serialised so that only for each + unit of related scripting contexts there is only one + script being executed at a time.