Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDNA Nontransitional_Processing #239

Closed
annevk opened this issue Feb 9, 2017 · 5 comments
Closed

IDNA Nontransitional_Processing #239

annevk opened this issue Feb 9, 2017 · 5 comments

Comments

@annevk
Copy link
Member

annevk commented Feb 9, 2017

@achristensen07 in #110 (comment) you mention that WebKit uses Nontransitional_Processing (URL Standard currently requires Transitional_Processing).

However, it appears that this is not universally done:

const url = new URL("https://x/")
url.host = "faß.de"
url.host // fass.de (Transitional) rather than xn--fa-hia.de (Nontransitional)

That's a bug then I assume?

I have tests at web-platform-tests/wpt#4504 but there's too many of them to easily digest (or run quickly). I haven't really figured out a strategy yet for how to tackle that problem.

In any event, with both WebKit/Safari and Firefox wanting Nontransitional_Processing, I think we should go for it and change that in the standard. And at least test faß.de for now in a less convoluted way.

annevk added a commit to web-platform-tests/wpt that referenced this issue Feb 9, 2017
annevk added a commit that referenced this issue Feb 9, 2017
This is implemented by Firefox and Safari without much trouble. The
hope is that other browsers and user agents will follow suit.

Tests: web-platform-tests/wpt#4771.

Fixes #239.
@annevk
Copy link
Member Author

annevk commented Feb 9, 2017

I also noticed that Safari applies some IDNA logic to hosts of non-special URL setters.

Firefox returns the ToUnicode result unfortunately.

Chrome fails badly. Didn't test Edge. I suspect all four browsers will need bugs for this one.

@jasnell
Copy link
Collaborator

jasnell commented Feb 9, 2017

The Node.js implementation is using nontransitional also...

> var u = new url.URL('https://x/');
undefined
> u.host = 'faß.de'
'faß.de'
> u.host
'xn--fa-hia.de'
>

@annevk
Copy link
Member Author

annevk commented Feb 13, 2017

@sleevi @jungshik could you comment with regards to Chrome whether this is a change you'll make given that Firefox and Safari appear to have done so successfully?

@travisleithead could you comment with regards to Edge? (Or suggest someone else?)

@sleevi
Copy link

sleevi commented Feb 16, 2017

@annevk This is another one where @jungshik is better qualified to speak to any plans to move, and what any (internal to Chrome) risks there may be.

annevk added a commit to web-platform-tests/wpt that referenced this issue Feb 20, 2017
annevk added a commit that referenced this issue Feb 20, 2017
This is implemented by Firefox, Safari, and Node.js. The hope is that other browsers and user agents will follow suit.

Tests: web-platform-tests/wpt#4794.

Fixes #239.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants