[browser][non-icu] Revert HybridGlobalization
normalization.
#87007
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solving #86041 in hybrid version is too costly. If we wanted to apply all the rules from https://www.unicode.org/Public/idna/13.0.0/IdnaMappingTable.txt we would use more space than we are saving from removing normalization filter from ICU (~59kB).
IDN working branch: https://github.com/ilonatommy/runtime/tree/idn-mapping.
The implementation is based on enhanced invariant IDN mapping. The problem is that it does not throw when the input is incorrect. In Unicode13 we have ~6k test cases. For function GetAscii() the code produces ~3.3k cases of false truth when the output is correct and ~729 cases of false truth when the output is incorrect. To fix it, IDN mapping table is needed. Loading mapping table separately and maintaining them with changing Unicode version does not give us size reduction.
From this reason, this PR is reverting normalization changes. Normalization and IDN mapping use the same chunk of ICU data.
Partially reverts the changes from #85510 (refactoring changes stay unreverted).