Skip to content

Commit 352a43a

Browse files
committed
Add initial insertion mode errors (#19)
* Add initial insertion mode errors * Fix review nits
1 parent 3d2719a commit 352a43a

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

source

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100414,6 +100414,15 @@ dictionary <dfn>StorageEventInit</dfn> : <span>EventInit</span> {
100414100414
Such <span data-x="code point">code points</span> are parsed as-is and usually, where parsing
100415100415
rules don't apply any additional restrictions, make their way into the DOM.</p>
100416100416

100417+
<tr>
100418+
<td><dfn data-x="parse-error-non-conforming-doctype">non-conforming-doctype</dfn>
100419+
<td><p>This error occurs if the parser encounters the <span
100420+
data-x="syntax-doctype">DOCTYPE</span> correctly placed as a document preamble and other than
100421+
<code data-x="">&lt;!DOCTYPE html></code> or <code data-x="">&lt;!DOCTYPE html SYSTEM
100422+
"about:legacy-compat"></code>. For <a href="#quirks-mode-doctypes">some non-conforming
100423+
DOCTYPEs</a> the parser sets the <code>Document</code> to <span>quirks mode</span> or
100424+
<span>limited-quirks mode</span>.</p>
100425+
100417100426
<tr>
100418100427
<td><dfn data-x="parse-error-non-void-html-element-start-tag-with-trailing-solidus">non-void-html-element-start-tag-with-trailing-solidus</dfn>
100419100428
<td>
@@ -100519,6 +100528,15 @@ dictionary <dfn>StorageEventInit</dfn> : <span>EventInit</span> {
100519100528
data-x="">foo</code>" attribute to "<code data-x="">b'ar'</code>".</p>
100520100529
</div>
100521100530

100531+
<tr>
100532+
<td><dfn data-x="parse-error-missing-doctype">missing-doctype</dfn>
100533+
<td>
100534+
<p>This error occurs if the parser encounters any content other than <span
100535+
data-x="syntax-comments">comments</span> or <span>ASCII whitespace</span> before <span
100536+
data-x="syntax-doctype">DOCTYPE</span> at the beginning of the document, i.e. DOCTYPE is not
100537+
a document preamble. In this case the parser sets the <code>Document</code> to <span>quirks
100538+
mode</span>.</p>
100539+
100522100540
<tr>
100523100541
<td><dfn data-x="parse-error-unexpected-equals-sign-before-attribute-name">unexpected-equals-sign-before-attribute-name</dfn>
100524100542
<td>
@@ -105284,7 +105302,9 @@ document.body.appendChild(text);
105284105302
<p>If the DOCTYPE token's name is not a <span>case-sensitive</span> match for the string "<code
105285105303
data-x="">html</code>", or the token's public identifier is not missing, or the token's system
105286105304
identifier is neither missing nor a <span>case-sensitive</span> match for the string
105287-
"<code>about:legacy-compat</code>", then there is a <span>parse error</span>.</p>
105305+
"<code>about:legacy-compat</code>", then this is a <span
105306+
data-x="parse-error-non-conforming-doctype">non-conforming-doctype</span> <span>parse
105307+
error</span>.</p>
105288105308

105289105309
<p>Append a <code>DocumentType</code> node to the <code>Document</code> node, with the <code
105290105310
data-x="">name</code> attribute set to the name given in the DOCTYPE token, or the empty string
@@ -105394,8 +105414,9 @@ document.body.appendChild(text);
105394105414
<dd>
105395105415

105396105416
<p>If the document is <em>not</em> <span>an <code>iframe</code> <code
105397-
data-x="attr-iframe-srcdoc">srcdoc</code> document</span>, then this is a <span>parse
105398-
error</span>; set the <code>Document</code> to <span>quirks mode</span>.</p>
105417+
data-x="attr-iframe-srcdoc">srcdoc</code> document</span>, then this is a <span
105418+
data-x="parse-error-missing-doctype">missing-doctype</span> <span>parse error</span>; set the
105419+
<code>Document</code> to <span>quirks mode</span>.</p>
105399105420

105400105421
<p>In any case, switch the <span>insertion mode</span> to "<span data-x="insertion mode: before
105401105422
html">before html</span>", then reprocess the token.</p>

0 commit comments

Comments
 (0)