@@ -116,16 +116,6 @@ valid input. User agents, especially conformance checkers, are encouraged to rep
116
116
<p class=note> If details about <a abstract-op lt=ToASCII>Unicode ToASCII</a> errors are
117
117
recorded, user agents are encouraged to pass those along.
118
118
<td class=yes> Yes
119
- <tr>
120
- <td> <dfn>domain-to-Unicode</dfn>
121
- <td>
122
- <p> <a abstract-op lt=ToUnicode>Unicode ToUnicode</a> records an error. [[UTS46]]
123
- <p class=note> The same considerations as with <a>domain-to-ASCII</a> apply.
124
- <td class=no> ·
125
- <tbody>
126
- <tr>
127
- <th colspan=3 scope=rowgroup> <a href=#host-parsing>Host parsing</a>
128
- <!-- host parser -->
129
119
<tr>
130
120
<td> <dfn>domain-invalid-code-point</dfn>
131
121
<td>
@@ -137,6 +127,15 @@ valid input. User agents, especially conformance checkers, are encouraged to rep
137
127
<p> "<code> https://exa%23mple.org</code> "
138
128
</div>
139
129
<td class=yes> Yes
130
+ <tr>
131
+ <td> <dfn>domain-to-Unicode</dfn>
132
+ <td>
133
+ <p> <a abstract-op lt=ToUnicode>Unicode ToUnicode</a> records an error. [[UTS46]]
134
+ <p class=note> The same considerations as with <a>domain-to-ASCII</a> apply.
135
+ <td class=no> ·
136
+ <tbody>
137
+ <tr>
138
+ <th colspan=3 scope=rowgroup> <a href=#host-parsing>Host parsing</a>
140
139
<!-- opaque-host parser -->
141
140
<tr>
142
141
<td> <dfn>host-invalid-code-point</dfn>
@@ -899,7 +898,7 @@ concepts.
899
898
<h3 id=idna>IDNA</h3>
900
899
901
900
<div algorithm>
902
- <p> The <dfn id=concept-domain-to-ascii>domain to ASCII</dfn> algorithm, given a <a>string</a>
901
+ <p> The <dfn id=concept-domain-to-ascii>domain to ASCII</dfn> algorithm, given a <a for=/ >string</a>
903
902
<var> domain</var> and a boolean <var> beStrict</var> , runs these steps:
904
903
905
904
<ol>
@@ -921,6 +920,18 @@ concepts.
921
920
<li><p> If <var> result</var> is the empty string, <a>domain-to-ASCII</a> <a>validation error</a> ,
922
921
return failure.
923
922
923
+ <li>
924
+ <p> If <var> beStrict</var> is false and <var> result</var> contains a
925
+ <a>forbidden domain code point</a> , <a>domain-invalid-code-point</a> <a>validation error</a> ,
926
+ return failure.
927
+
928
+ <p class=note> Due to web compatibility and compatibility with non-DNS-based systems the
929
+ <a>forbidden domain code points</a> are a subset of those disallowed when <i> UseSTD3ASCIIRules</i>
930
+ is true. See also <a href="https://github.com/whatwg/url/issues/397">issue #397</a> .
931
+
932
+ <li><p> <a for=/>Assert</a> : <var> result</var> does not contain a
933
+ <a>forbidden domain code point</a> .
934
+
924
935
<li><p> Return <var> result</var> .
925
936
</ol>
926
937
@@ -1027,9 +1038,6 @@ false), and then runs these steps. They return failure or a <a for=/>host</a>.
1027
1038
1028
1039
<li><p> If <var> asciiDomain</var> is failure, then return failure.
1029
1040
1030
- <li><p> If <var> asciiDomain</var> contains a <a>forbidden domain code point</a> ,
1031
- <a>domain-invalid-code-point</a> <a>validation error</a> , return failure.
1032
-
1033
1041
<li><p> If <var> asciiDomain</var> <a lt="ends in a number checker">ends in a number</a> , then return
1034
1042
the result of <a lt="IPv4 parser">IPv4 parsing</a> <var> asciiDomain</var> .
1035
1043
0 commit comments