- From: Domenic Denicola <notifications@github.com>
- Date: Tue, 14 Feb 2023 23:04:04 -0800
- To: whatwg/url <url@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/url/pull/502/review/1298900495@github.com>
@domenic approved this pull request. LGTM with nits. Very clean. > + [[UTS46]] + <p class=note>If details about <a abstract-op lt=ToASCII>Unicode ToASCII</a> errors are + recorded, user agents are encouraged to pass those along. + <td>Yes + <tr> + <td><dfn>domain-to-Unicode</dfn> + <td> + <p><a abstract-op lt=ToUnicode>Unicode ToUnicode</a> records an error. [[UTS46]] + <p class=note>The same considerations as with <a>domain-to-ASCII</a> apply. + <td>· + <tbody> + <tr> + <th colspan=3 scope=rowgroup><a href=#host-parsing>Host parsing</a> + <!-- host parser --> + <tr> + <td><dfn>IPv6-unclosed</dfn> Maybe consider alphabetizing within the table? Or at least moving this IPv6- one to be adjacent to the others. > + <tr> + <th colspan=3 scope=rowgroup><a href=#idna>IDNA</a> + <tr> + <td><dfn id=validation-error-domain-to-ascii>domain-to-ASCII</dfn> + <td> + <p><a abstract-op lt=ToASCII>Unicode ToASCII</a> records an error or returns the empty string. + [[UTS46]] + <p class=note>If details about <a abstract-op lt=ToASCII>Unicode ToASCII</a> errors are + recorded, user agents are encouraged to pass those along. + <td>Yes + <tr> + <td><dfn>domain-to-Unicode</dfn> + <td> + <p><a abstract-op lt=ToUnicode>Unicode ToUnicode</a> records an error. [[UTS46]] + <p class=note>The same considerations as with <a>domain-to-ASCII</a> apply. + <td>· I think you need a bit of styling like https://html.spec.whatwg.org/#linkTypes to center and, maybe, make the failure cells colored. > + <th colspan=3 scope=rowgroup><a href=#host-parsing>Host parsing</a> + <!-- host parser --> + <tr> + <td><dfn>IPv6-unclosed</dfn> + <td> + <p>An <a for=/>IPv6 address</a> is missing the closing U+005D (]). + <p class=example id=example-ipv6-unclosed"<code>https://[::1</code>" + <td>Yes + <tr> + <td><dfn>domain-invalid-code-point</dfn> + <td> + <p>The input's <a for=/>host</a> contains a <a>forbidden domain code point</a>. + <div class=example id=example-domain-invalid-code-point> + <p>Hosts are <a for=string>percent-decoded</a> before being processed when the URL + <a>is special</a>, which would result in the following host portion becoming + "<code>exa#mple.org</code>". ```suggestion "<code>exa#mple.org</code>" and thus triggering this error. ``` > + <a>is special</a>, which would result in the following host portion becoming + "<code>exa#mple.org</code>". + <p>"<code>https://exa%23mple.org</code>" + </div> + <td>Yes + <!-- IPv4 parser --> + <tr> + <td><dfn>IPv4-empty-part</dfn> + <td> + <p>An <a for=/>IPv4 address</a> ends with a U+002E (.). + <p class=example id=example-ipv4-empty-part>"<code>https://127.0.0.1./</code>" + <td>· + <tr> + <td><dfn>IPv4-too-many-parts</dfn> + <td> + <p>An <a for=/>IPv4 address</a> has to consist of 4 parts. ```suggestion <p>An <a for=/>IPv4 address</a> does not consist of exactly 4 parts. ``` > + <tr> + <td><dfn>IPv4-empty-part</dfn> + <td> + <p>An <a for=/>IPv4 address</a> ends with a U+002E (.). + <p class=example id=example-ipv4-empty-part>"<code>https://127.0.0.1./</code>" + <td>· + <tr> + <td><dfn>IPv4-too-many-parts</dfn> + <td> + <p>An <a for=/>IPv4 address</a> has to consist of 4 parts. + <p class=example id=example-ipv4-too-many-parts>"<code>https://1.2.3.4.5/</code>" + <td>Yes + <tr> + <td><dfn>IPv4-non-numeric-part</dfn> + <td> + <p>An <a for=/>IPv4 address</a> part was not numeric. ```suggestion <p>An <a for=/>IPv4 address</a> part is not numeric. ``` > + <td> + <p>An <a for=/>IPv4 address</a> part was not numeric. + <p class=example id=example-ipv4-non-numeric-part>"<code>https://test.42</code>" + <td>Yes + <tr> + <td><dfn>IPv4-non-decimal-part</dfn> + <td> + <p>The <a for=/>IPv4 address</a> contains numbers expressed using hexadecimal or octal digits. + <p class=example id=example-ipv4-non-decimal-part>"<code>https://127.0.0x0.1</code>" + <td>· + <tr> + <td><dfn>IPv4-out-of-range-part</dfn> + <td> + <p>An <a for=/>IPv4 address</a> part exceeds 255. + <p class=example id=example-ipv4-out-of-range-part>"<code>https://255.255.4000.1</code>" + <td>Yes (only if applicable to the last part) ```suggestion <td>Yes<br>(only if applicable to the last part) ``` maybe? > + <td>Yes + <tr> + <td><dfn>IPv6-multiple-compression</dfn> + <td> + <p>An <a for=/>IPv6 address</a> is compressed in more than one spot. + <p class=example id=example-ipv6-multiple-compression>"<code>https://[1::1::1]</code>" + <td>Yes + <tr> + <td><dfn>IPv4-in-IPv6-too-many-pieces</dfn> + <td> + <p>An <a for=/>IPv6 address</a> with <a for=/>IPv4 address</a> syntax: the IPv6 address has more + than 6 pieces. + <p class=example id=example-ipv4-in-ipv6-too-many-pieces>"<code>https://[1:1:1:1:1:1:1:127.0.0.1]</code>" + <td>Yes + <tr> + <td><dfn>IPv4-in-IPv6-invalid-code-point</dfn> Really seems like this should be split into multiple errors, but I guess that could be refactored later. -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/url/pull/502#pullrequestreview-1298900495 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/url/pull/502/review/1298900495@github.com>
Received on Wednesday, 15 February 2023 07:04:18 UTC