hixie: Remove support for <script defer> with no src='', and remove the associated magic with innerHTML that this involved. (whatwg r3550)

hixie: Remove support for <script defer> with no src='', and remove the
associated magic with innerHTML that this involved. (whatwg r3550)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2743&r2=1.2744&f=h
http://html5.org/tools/web-apps-tracker?from=3549&to=3550

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2743
retrieving revision 1.2744
diff -u -d -r1.2743 -r1.2744
--- Overview.html 6 Aug 2009 23:13:20 -0000 1.2743
+++ Overview.html 7 Aug 2009 00:03:40 -0000 1.2744
@@ -175,7 +175,7 @@
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
    <!--ZZZ:-->
    <!--<h2 class="no-num no-toc">W3C Working Draft 23 April 2009</h2>-->
-   <h2 class="no-num no-toc" id="editor-s-draft-date-1-january-1970">Editor's Draft 6 August 2009</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-date-1-january-1970">Editor's Draft 7 August 2009</h2>
    <!--:ZZZ-->
    <dl><!-- ZZZ: update the month/day (twice), (un)comment out
     <dt>This Version:</dt>
@@ -273,7 +273,7 @@
   track.
   <!--ZZZ:-->
   <!--This specification is the 23 April 2009 Working Draft.-->
-  This specification is the 6 August 2009 Editor's Draft.
+  This specification is the 7 August 2009 Editor's Draft.
   <!--:ZZZ-->
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is also being produced by the <a href="http://www.whatwg.org/">WHATWG</a>. The two specifications are
   identical from the table of contents onwards.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- context and rationale (required) --><p>This specification is intended to replace (be a new version of)
@@ -8404,48 +8404,6 @@
 
   <ol><li>
 
-    <p>If the node is an <code>Element</code> node, and the node's
-    document is an <a href="#html-documents" title="HTML documents">HTML document</a>,
-    and the node is <a href="#in-a-document">in a <code>Document</code></a>, and the
-    node's document has an <a href="#active-parser">active parser</a>, and the
-    <a href="#insertion-point">insertion point</a> associated with that parser's
-    <a href="#the-input-stream">input stream</a> is not undefined (that is, it
-    <em>does</em> point to somewhere in the input stream), and the
-    <a href="#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing">list of scripts that will execute when the document has
-    finished parsing</a> is not empty, then run the following
-    substeps:</p>
-
-    <ol><li><p>Let <var title="">the script</var> be the first element in
-     the <a href="#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing">list of scripts that will execute when the document has
-     finished parsing</a>.</li>
-
-     <li><p><i>Loop</i>: If <var title="">the script</var> is a
-     <code><a href="#script">script</a></code> element without a <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute, then <a href="#executing-a-script-block" title="executing a script block">execute</a> <var title="">the
-     script</var>.</li>
-
-     <li><p>If <var title="">the script</var> is not the last script
-     in the <a href="#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing">list of scripts that will execute when the document
-     has finished parsing</a>, then let <var title="">the
-     script</var> be the next script in that list, and return to the
-     step marked <i>loop</i>.</p>
-
-     <li><p>Remove any scripts that were executed as part of this
-     algorithm from the <a href="#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing">list of scripts that will execute when
-     the document has finished parsing</a>.</li>
-
-    </ol><!--
-     TESTS: http://www.hixie.ch/tests/adhoc/html/parsing/script-defer-write/
-     Note: IE8 actually drops on the floor any scripts which had
-     src="" but aren't yet completely loaded, and executes the rest. I
-     don't want to spec a race condition, though, and other browser
-     vendors don't want to block on network I/O in
-     innerHTML. Unfortunately, this means that external scripts with
-     defer="" will blow away the document if they do document.write(),
-     which is incompatible with IE.
-    --></li>
-
-   <li>
-
     <p>If the node's document is an <a href="#html-documents" title="HTML documents">HTML
     document</a>: Invoke the <a href="#html-fragment-parsing-algorithm">HTML fragment parsing
     algorithm</a>.</p>
@@ -10077,7 +10035,9 @@
   specified even if the <code title="attr-script-async"><a href="#attr-script-async">async</a></code>
   attribute is specified, to cause legacy Web browsers that only
   support <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> (and not <code title="attr-script-async"><a href="#attr-script-async">async</a></code>) to fall back to the <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> behavior instead of the
-  synchronous blocking behavior that is the default.<p>Changing the <code title="attr-script-src"><a href="#attr-script-src">src</a></code>, <code title="attr-script-type"><a href="#attr-script-type">type</a></code>, <code title="attr-script-charset"><a href="#attr-script-charset">charset</a></code>, <code title="attr-script-async"><a href="#attr-script-async">async</a></code>, and <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attributes dynamically has no
+  synchronous blocking behavior that is the default.<p>If the <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attribute may
+  be specified, the <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute
+  must also be specified.<p>Changing the <code title="attr-script-src"><a href="#attr-script-src">src</a></code>, <code title="attr-script-type"><a href="#attr-script-type">type</a></code>, <code title="attr-script-charset"><a href="#attr-script-charset">charset</a></code>, <code title="attr-script-async"><a href="#attr-script-async">async</a></code>, and <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attributes dynamically has no
   direct effect; these attribute are only used at specific times
   described below (namely, when the element is <a href="#insert-an-element-into-a-document" title="insert an
   element into a document">inserted into the document</a>).</p><!-- by implication, changes to the base URL also have no effect --><div class="impl">
@@ -10232,21 +10192,13 @@
 
     <dl class="switch"><dt>If the document is still being parsed, and the element has a
      <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attribute, and the
-     element does not have an <code title="attr-script-async"><a href="#attr-script-async">async</a></code> attribute</dt>
+     element has a <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute,
+     and the element does not have an <code title="attr-script-async"><a href="#attr-script-async">async</a></code> attribute</dt>
 
      <dd>The element must be added to the end of the <a href="#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing">list of
      scripts that will execute when the document has finished
      parsing</a>.
 
-     <!-- What IE does here is slightly different. If we need to tweak
-     this for better compatibility:
-       http://www.websiteoptimization.com/speed/tweak/defer/test/
-       internal deferred scripts execute before any external scripts execute, or before the LOAD if there are none
-       external deferred scripts execute before the LOAD
-     See also the innerHTML attribute, which does weird things for
-     this list of scripts.
-     -->
-
      </dd>

Received on Friday, 7 August 2009 00:04:38 UTC