mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 23:09:08 +00:00
LibJS: Ensure relevant extension keys are included in ICU locale data
This is a normative change in the ECMA-402 spec. See:
7508197
In our implementation, we don't have the affected AOs directly, as we
delegate to ICU. So instead, we must ensure we provide ICU a locale with
the relevant extension keys present.
This commit is contained in:
parent
37b8ba96f1
commit
00d00b84d3
Notes:
github-actions[bot]
2025-03-18 15:48:22 +00:00
Author: https://github.com/trflynn89
Commit: 00d00b84d3
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3980
17 changed files with 82 additions and 67 deletions
|
@ -866,12 +866,9 @@ private:
|
|||
|
||||
NonnullOwnPtr<NumberFormat> NumberFormat::create(
|
||||
StringView locale,
|
||||
StringView numbering_system,
|
||||
DisplayOptions const& display_options,
|
||||
RoundingOptions const& rounding_options)
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
auto locale_data = LocaleData::for_locale(locale);
|
||||
VERIFY(locale_data.has_value());
|
||||
|
||||
|
@ -879,11 +876,6 @@ NonnullOwnPtr<NumberFormat> NumberFormat::create(
|
|||
apply_display_options(formatter, display_options);
|
||||
apply_rounding_options(formatter, rounding_options);
|
||||
|
||||
if (!numbering_system.is_empty()) {
|
||||
if (auto* symbols = icu::NumberingSystem::createInstanceByName(ByteString(numbering_system).characters(), status); symbols && icu_success(status))
|
||||
formatter = formatter.adoptSymbols(symbols);
|
||||
}
|
||||
|
||||
bool is_unit = display_options.style == NumberFormatStyle::Unit;
|
||||
return adopt_own(*new NumberFormatImpl(locale_data->locale(), move(formatter), is_unit));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue