diff --git a/url.bs b/url.bs index b2834297..5058807d 100644 --- a/url.bs +++ b/url.bs @@ -902,8 +902,9 @@ concepts.

IDNA

-

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.

  1. @@ -980,21 +981,21 @@ concepts.

    The domain to Unicode algorithm, given a domain -domain and a boolean beStrict, runs these steps: +domain, runs these steps:

    1. 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]]

    2. 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.

    3. Return result. @@ -1011,7 +1012,7 @@ concepts.

      A string input is a valid domain if these steps return true:

        -
      1. Let domain be the result of running domain to ASCII with input +

      2. Let domain be the result of running domain parser with input and true.

      3. 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 (�). -

      4. Let asciiDomain be the result of running domain to ASCII with +

      5. Let asciiDomain be the result of running domain parser with domain and false.

      6. 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]]