[html5] r5905 - [giow] (2) Make sure that all synchronous sections run before <script> elements, [...]
whatwg at whatwg.org
whatwg at whatwg.org
Fri Feb 18 14:36:50 PST 2011
Author: ianh
Date: 2011-02-18 14:36:48 -0800 (Fri, 18 Feb 2011)
New Revision: 5905
Modified:
complete.html
index
source
Log:
[giow] (2) Make sure that all synchronous sections run before <script> elements, so that a <script> following a <video> has a state that doesn't depend on whether the browser splits up its parser tasks.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=11861
Modified: complete.html
===================================================================
--- complete.html 2011-02-17 02:23:33 UTC (rev 5904)
+++ complete.html 2011-02-18 22:36:48 UTC (rev 5905)
@@ -239,7 +239,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1>Web Applications 1.0</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 17 February 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 18 February 2011</h2>
</hgroup><p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
<!--<p class="impl"><strong>Implementors!</strong> We have a <a href="http://www.whatwg.org/mailing-list#implementors">mailing list</a> for you too!</p>-->
@@ -64633,17 +64633,8 @@
<li><p>Remove that task from its <a href=#task-queue>task queue</a>.</li>
- <li><p>If any asynchronously-running algorithms are <dfn id=await-a-stable-state title="await a stable state">awaiting a stable state</dfn>, then
- run their <dfn id=synchronous-section>synchronous section</dfn> and then resume running
- their asynchronous algorithm.</p>
+ <li><p><a href=#provide-a-stable-state>Provide a stable state</a>.</li>
- <p class=note>A <a href=#synchronous-section>synchronous section</a> never mutates
- the DOM, runs any script, or has any other side-effects.</p>
-
- <p class=note>Steps in <a href=#synchronous-section title="synchronous
- section">synchronous sections</a> are marked with
- ⌛.</li>
-
<li><p>If necessary, update the rendering or user interface of any
<code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
the current state.</li>
@@ -64651,7 +64642,19 @@
<li><p>Return to the first step of the <a href=#event-loop>event
loop</a>.</li>
- </ol><hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
+ </ol><hr><p>When the user agent is to <dfn id=provide-a-stable-state>provide a stable state</dfn>, if
+ any asynchronously-running algorithms are <dfn id=await-a-stable-state title="await a stable
+ state">awaiting a stable state</dfn>, then the user agent must run
+ their <dfn id=synchronous-section>synchronous section</dfn> and then resume running their
+ asynchronous algorithm (if appopriate).</p>
+
+ <p class=note>A <a href=#synchronous-section>synchronous section</a> never mutates
+ the DOM, runs any script, or has any other side-effects.</p>
+
+ <p class=note>Steps in <a href=#synchronous-section title="synchronous
+ section">synchronous sections</a> are marked with ⌛.</p>
+
+ <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
a condition <var title="">goal</var> is met, the user agent must run
the following steps:</p>
@@ -82839,6 +82842,8 @@
<dt id=scriptEndTag>An end tag whose tag name is "script"</dt>
<dd>
+ <p><a href=#provide-a-stable-state>Provide a stable state</a>.</p>
+
<p>Let <var title="">script</var> be the <a href=#current-node>current node</a>
(which will be a <code><a href=#script>script</a></code> element).</p>
@@ -85418,10 +85423,11 @@
flag must be unset. If the parser was originally created for the
<a href=#xml-fragment-parsing-algorithm>XML fragment parsing algorithm</a>, then the element must
be marked as <a href=#already-started>"already started"</a> also. When the element's
- end tag is parsed, the user agent must <a href=#prepare-a-script title="prepare a
- script">prepare</a> the <code><a href=#script>script</a></code> element. If this
- causes there to be a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>,
- then the user agent must run the following steps:</p>
+ end tag is parsed, the user agent must <a href=#provide-a-stable-state>provide a stable
+ state</a>, and then <a href=#prepare-a-script title="prepare a script">prepare</a>
+ the <code><a href=#script>script</a></code> element. If this causes there to be a
+ <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then the user agent
+ must run the following steps:</p>
<ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such
that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
Modified: index
===================================================================
--- index 2011-02-17 02:23:33 UTC (rev 5904)
+++ index 2011-02-18 22:36:48 UTC (rev 5905)
@@ -243,7 +243,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 17 February 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 18 February 2011</h2>
</hgroup><p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
<!--<p class="impl"><strong>Implementors!</strong> We have a <a href="http://www.whatwg.org/mailing-list#implementors">mailing list</a> for you too!</p>-->
@@ -64636,17 +64636,8 @@
<li><p>Remove that task from its <a href=#task-queue>task queue</a>.</li>
- <li><p>If any asynchronously-running algorithms are <dfn id=await-a-stable-state title="await a stable state">awaiting a stable state</dfn>, then
- run their <dfn id=synchronous-section>synchronous section</dfn> and then resume running
- their asynchronous algorithm.</p>
+ <li><p><a href=#provide-a-stable-state>Provide a stable state</a>.</li>
- <p class=note>A <a href=#synchronous-section>synchronous section</a> never mutates
- the DOM, runs any script, or has any other side-effects.</p>
-
- <p class=note>Steps in <a href=#synchronous-section title="synchronous
- section">synchronous sections</a> are marked with
- ⌛.</li>
-
<li><p>If necessary, update the rendering or user interface of any
<code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
the current state.</li>
@@ -64654,7 +64645,19 @@
<li><p>Return to the first step of the <a href=#event-loop>event
loop</a>.</li>
- </ol><hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
+ </ol><hr><p>When the user agent is to <dfn id=provide-a-stable-state>provide a stable state</dfn>, if
+ any asynchronously-running algorithms are <dfn id=await-a-stable-state title="await a stable
+ state">awaiting a stable state</dfn>, then the user agent must run
+ their <dfn id=synchronous-section>synchronous section</dfn> and then resume running their
+ asynchronous algorithm (if appopriate).</p>
+
+ <p class=note>A <a href=#synchronous-section>synchronous section</a> never mutates
+ the DOM, runs any script, or has any other side-effects.</p>
+
+ <p class=note>Steps in <a href=#synchronous-section title="synchronous
+ section">synchronous sections</a> are marked with ⌛.</p>
+
+ <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
a condition <var title="">goal</var> is met, the user agent must run
the following steps:</p>
@@ -78810,6 +78813,8 @@
<dt id=scriptEndTag>An end tag whose tag name is "script"</dt>
<dd>
+ <p><a href=#provide-a-stable-state>Provide a stable state</a>.</p>
+
<p>Let <var title="">script</var> be the <a href=#current-node>current node</a>
(which will be a <code><a href=#script>script</a></code> element).</p>
@@ -81389,10 +81394,11 @@
flag must be unset. If the parser was originally created for the
<a href=#xml-fragment-parsing-algorithm>XML fragment parsing algorithm</a>, then the element must
be marked as <a href=#already-started>"already started"</a> also. When the element's
- end tag is parsed, the user agent must <a href=#prepare-a-script title="prepare a
- script">prepare</a> the <code><a href=#script>script</a></code> element. If this
- causes there to be a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>,
- then the user agent must run the following steps:</p>
+ end tag is parsed, the user agent must <a href=#provide-a-stable-state>provide a stable
+ state</a>, and then <a href=#prepare-a-script title="prepare a script">prepare</a>
+ the <code><a href=#script>script</a></code> element. If this causes there to be a
+ <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then the user agent
+ must run the following steps:</p>
<ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such
that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
Modified: source
===================================================================
--- source 2011-02-17 02:23:33 UTC (rev 5904)
+++ source 2011-02-18 22:36:48 UTC (rev 5905)
@@ -73539,18 +73539,8 @@
<li><p>Remove that task from its <span>task queue</span>.</p></li>
- <li><p>If any asynchronously-running algorithms are <dfn
- title="await a stable state">awaiting a stable state</dfn>, then
- run their <dfn>synchronous section</dfn> and then resume running
- their asynchronous algorithm.</p>
+ <li><p><span>Provide a stable state</span>.</p></li>
- <p class="note">A <span>synchronous section</span> never mutates
- the DOM, runs any script, or has any other side-effects.</p>
-
- <p class="note">Steps in <span title="synchronous
- section">synchronous sections</span> are marked with
- ⌛.</p></li>
-
<li><p>If necessary, update the rendering or user interface of any
<code>Document</code> or <span>browsing context</span> to reflect
the current state.</p></li>
@@ -73562,6 +73552,20 @@
<hr>
+ <p>When the user agent is to <dfn>provide a stable state</dfn>, if
+ any asynchronously-running algorithms are <dfn title="await a stable
+ state">awaiting a stable state</dfn>, then the user agent must run
+ their <dfn>synchronous section</dfn> and then resume running their
+ asynchronous algorithm (if appopriate).</p>
+
+ <p class="note">A <span>synchronous section</span> never mutates
+ the DOM, runs any script, or has any other side-effects.</p>
+
+ <p class="note">Steps in <span title="synchronous
+ section">synchronous sections</span> are marked with ⌛.</p>
+
+ <hr>
+
<p>When an algorithm says to <dfn>spin the event loop</dfn> until
a condition <var title="">goal</var> is met, the user agent must run
the following steps:</p>
@@ -93794,6 +93798,8 @@
<dt id="scriptEndTag">An end tag whose tag name is "script"</dt>
<dd>
+ <p><span>Provide a stable state</span>.</p>
+
<p>Let <var title="">script</var> be the <span>current node</span>
(which will be a <code>script</code> element).</p>
@@ -96694,10 +96700,11 @@
flag must be unset. If the parser was originally created for the
<span>XML fragment parsing algorithm</span>, then the element must
be marked as <span>"already started"</span> also. When the element's
- end tag is parsed, the user agent must <span title="prepare a
- script">prepare</span> the <code>script</code> element. If this
- causes there to be a <span>pending parsing-blocking script</span>,
- then the user agent must run the following steps:</p>
+ end tag is parsed, the user agent must <span>provide a stable
+ state</span>, and then <span title="prepare a script">prepare</span>
+ the <code>script</code> element. If this causes there to be a
+ <span>pending parsing-blocking script</span>, then the user agent
+ must run the following steps:</p>
<ol>
More information about the Commit-Watchers
mailing list