diff --git a/url.bs b/url.bs index b2834297..5058807d 100644 --- a/url.bs +++ b/url.bs @@ -902,8 +902,9 @@ concepts.
The domain to ASCII algorithm, given a string -domain and a boolean beStrict, runs these steps: +
The domain parser algorithm, given a +scalar value string domain and a boolean beStrict, runs these +steps. They return failure or a domain.
The domain to Unicode algorithm, given a domain -domain and a boolean beStrict, runs these steps: +domain, runs these steps:
Let result be the result of running Unicode ToUnicode with domain_name set to domain, - CheckHyphens set to beStrict, CheckBidi set to true, CheckJoiners - set to true, UseSTD3ASCIIRules set to beStrict, Transitional_Processing - set to false, and IgnoreInvalidPunycode set to false. [[!UTS46]] + CheckHyphens set to false, CheckBidi set to true, CheckJoiners set to true, + UseSTD3ASCIIRules set to false, Transitional_Processing set to false, and + IgnoreInvalidPunycode set to false. [[!UTS46]]
If an error was recorded, then return domain.
Because domain can only result from the host parser, any recorded
errors will already have been signified as validation errors. Returning domain
- ensures domain to ASCII and domain to Unicode roundtrip on input such as
+ ensures the domain parser and domain to Unicode roundtrip on input such as
xn--8i7caa.
Return result. @@ -1011,7 +1012,7 @@ concepts.
A string input is a valid domain if these steps return true:
Let domain be the result of running domain to ASCII with input +
Let domain be the result of running domain parser with input and true.
Return false if domain is failure; otherwise true. @@ -1076,9 +1077,9 @@ false), and then runs these steps. They return failure or a host. percent-decoding of input.
Alternatively UTF-8 decode without BOM or fail can be used, coupled with an - early return for failure, as domain to ASCII fails on U+FFFD (�). + early return for failure, as the domain parser fails on U+FFFD (�). -
Let asciiDomain be the result of running domain to ASCII with +
Let asciiDomain be the result of running domain parser with domain and false.
If asciiDomain is failure, then return failure. @@ -3305,8 +3306,8 @@ handled with care to prevent spoofing:
Browsers should render a URL's host by running - domain to Unicode with the URL's host and false. +
If URL's host is a domain, browsers should render it + by running domain to Unicode with the URL's host.
Various characters can be used in homograph spoofing attacks. Consider detecting confusable characters and warning when they are in use. [[IDNFAQ]] [[UTS39]]