task list
details
A.1
convertToDisplayIDN() is the only nsIIDNService function used
- it's used by…
- DomainUtils.getBaseDomain()
- OldRules class
- the ASCII <-> UTF-8 conversion will be done by node package
punycode
- the decision whether punycode or IDN (ascii or unicode) is to be displayed for a specific domain (or domain label) depends on an eTLD check: «If a TLD is in the whitelist, we unconditionally display Unicode.» [1]
A.2
- Three possibilities:
"normal-host.com"
"" (empty host, e.g. "file:///")
null/undefined (e.g. "about:config")
links
[1] https://wiki.mozilla.org/IDN_Display_Algorithm
task list
*Requestclass constructorsNormalRequest: seewebRequest.onBeforeRequest.detailsSimpleRedirectRequest: no changes needed (bothoriginURIanddestURIare strings)RedirectRequest: seewebRequest.onBeforeRedirect.detailsaContentTypeaContextaMimeTypeGuessaExtraaRequestPrincipaloldChannel(HttpChannelWrapper)RequestService.getBrowserRequestService.getContentPolicyType(?)Uriclass"host === null"and"host === undefined"[A.2]pslWIPnsIIDNService.convertToDisplayIDN()->rp.services.idn[A.1]details
A.1
convertToDisplayIDN()is the onlynsIIDNServicefunction usedpunycodeA.2
"normal-host.com"""(empty host, e.g."file:///")null/undefined(e.g."about:config")links
[1] https://wiki.mozilla.org/IDN_Display_Algorithm