Bugzilla – Bug 113
Make the processing of correct <html> start tags more explicit. Also, make a text node before <html> give a parse error, which it didn't before.
Last modified: 2008-03-07 13:21:59 CET
Index: source =================================================================== --- source (revision 1313) +++ source (revision 1314) @@ -38474,6 +38474,26 @@ <p>Ignore the token.</p> </dd> + <dt>A start tag whose tag name is "html"</dt> + <dd> + + <p><span>Create an element for the token</span>. Append it to the + <code>Document</code> object. Put this element in the <span>stack + of open elements</span>.</p> + + <p id="parser-appcache">If the token has an attribute "manifest", + then run the <span + title="concept-appcache-init-with-attribute">application cache + selection algorithm</span> with the value of that attribute as the + manifest URI. Otherwise, run the <span + title="concept-appcache-init-no-attribute">application cache + selection algorithm</span> with no manifest.</p> + + <p>Change the <span>insertion mode</span> to "<span + title="insertion mode: before head">before head</span>".</p> + + </dd> + <dt>A character token that is <em>not</em> one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), <!--U+000D CARRIAGE RETURN (CR),--> or U+0020 SPACE</dt> @@ -38482,17 +38502,14 @@ <dt>An end-of-file token</dt> <dd> - <p id="parser-appcache">If the token is a start tag token with the - tag name "html", and it has an attribute "manifest", then run - the <span title="concept-appcache-init-with-attribute">application - cache selection algorithm</span> with the value of that attribute - as the manifest URI. Otherwise, run the <span - title="concept-appcache-init-no-attribute">application cache - selection algorithm</span> with no manifest.</p> - <p>Create an <code>HTMLElement</code> node with the tag name <code>html</code>, in the <span>HTML namespace</span>. Append it - to the <code>Document</code> object.</p> + to the <code>Document</code> object. Put this element in the + <span>stack of open elements</span>.</p> + + <p>Run the <span + title="concept-appcache-init-no-attribute">application cache + selection algorithm</span> with no manifest.</p> <p>Change the <span>insertion mode</span> to "<span title="insertion mode: before head">before head</span>".</p> @@ -39081,12 +39098,10 @@ <dt>A start tag whose tag name is "html"</dt> <dd> - <p>If this start tag token was not the first start tag token, then - it is a <span>parse error</span>.</p> - <p>For each attribute on the token, check to see if the attribute - is already present on the top element of the <span>stack of open - elements</span>. If it is not, add the attribute and its - corresponding value to that element.</p> + <p><span>Parse error</span>. For each attribute on the token, + check to see if the attribute is already present on the top + element of the <span>stack of open elements</span>. If it is not, + add the attribute and its corresponding value to that element.</p> </dd> <dt>A start tag token whose tag name is one of: "base", "link",
Already implemented.