[browser][non-icu] HybridGlobalization change case#84019
Conversation
|
Tagging subscribers to this area: @dotnet/area-system-globalization Issue DetailsImplements a chunk of web-api based globalization. Is a part of HybridGlobalization feature and contributes to #79989. Old, icu-based private API: New, non-icu private API: Affected public API (see: tests in
|
kg
left a comment
There was a problem hiding this comment.
Looks good aside from comments
|
I am merging but if there are any new ideas later, feel free to let me know and we will solve them in a follow-up, cc @pavelsavara, @radical. |
|
|
||
| ### WASM | ||
|
|
||
| For WebAssembly, both on Browser and WASI, we are using Web API instead of some ICU data. |
There was a problem hiding this comment.
There is no Web API in WASI. It probably means that the whole Hybrid Globalization can't be implemented there.
| { | ||
| internal static bool Invariant { get; } = AppContextConfigHelper.GetBooleanConfig("System.Globalization.Invariant", "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT"); | ||
| #if TARGET_OSX || TARGET_MACCATALYST || TARGET_IOS || TARGET_TVOS | ||
| #if TARGET_OSX || TARGET_MACCATALYST || TARGET_IOS || TARGET_TVOS || TARGET_BROWSER || TARGET_WASI |
| // static cctor (on Unix) to be preserved when Invariant=false. | ||
| internal static bool Invariant => Settings.Invariant; | ||
| #if TARGET_OSX || TARGET_MACCATALYST || TARGET_IOS || TARGET_TVOS | ||
| #if TARGET_OSX || TARGET_MACCATALYST || TARGET_IOS || TARGET_TVOS || TARGET_BROWSER || TARGET_WASI |
Implements a chunk of web-api based globalization. Is a part of HybridGlobalization feature and contributes to #79989.
Old, icu-based private API:
GlobalizationNative_ChangeCaseNew, non-icu private API:
ChangeCaseInvariantJS,ChangeCaseJS.Affected public API (see: tests in
TextInfoTests.cs):