-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[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
|
src/libraries/System.Private.CoreLib/src/System/Globalization/GlobalizationMode.cs
Show resolved
Hide resolved
src/libraries/System.Globalization/tests/System.HybridGlobalization.Tests.csproj
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no Web API in WASI. It probably means that the whole Hybrid Globalization
can't be implemented there.
@@ -13,7 +13,7 @@ internal static partial class GlobalizationMode | |||
private static partial class Settings | |||
{ | |||
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no WASI ?
@@ -23,7 +23,7 @@ private static partial class Settings | |||
// This allows for the whole Settings nested class to be trimmed when Invariant=true, and allows for the Settings | |||
// 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no 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_ChangeCase
New, non-icu private API:
ChangeCaseInvariantJS
,ChangeCaseJS
.Affected public API (see: tests in
TextInfoTests.cs
):