Bug 236121

Summary: Passing undefined for the locale in the Intl.NumberFormatter constructor uses the system locale
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED MOVED    
Severity: Normal CC: webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Example none

Description Myles C. Maxfield 2022-02-03 20:20:39 PST
1. This doesn't match Chrome (but does match Firefox)
2. This causes bugs on some sites which may receive numerals they weren't expecting (See the prices in https://www.westelm.com/search/results.html?words=floor%20lamp with your system set to Arabic)
3. There are fingerprinting concerns
Comment 1 Myles C. Maxfield 2022-02-03 20:22:59 PST
Created attachment 450860 [details]
Example

Open the example in Chrome and WebKit with your system set to Arabic.
Comment 2 Radar WebKit Bug Importer 2022-02-03 20:25:40 PST
<rdar://problem/88471306>
Comment 3 Yusuke Suzuki 2022-02-03 20:52:41 PST
OK, this is because upstream CLDR has two options for numbering-system in ar locale.

1. arab
2. latn

By default, it is pointing "arab". But it looks like there is an option "latn".
And according to CLDR issue (https://unicode-org.atlassian.net/browse/CLDR-10825)

> And add: <defaultNumberingSystem alt=”latndigi”>latn</…> → Google (and other companies like Netflix) which want to default non-country-specific Arabic to ASCII can use this...we can then test it out, see how it works, and based on that experience see if we should switch default and alt
> Stock ICU uses “standard” variant for ar.xml (Arab); Google etc will filter the data so that ar.xml gets <defaultNumberingSystem>Latn</…>

So, Stock ICU (& current Apple ICU) uses arab. Google's fork is using latn.
Comment 4 Myles C. Maxfield 2022-02-03 21:13:15 PST
Okay, because this bug is about Apple's internal implementation of ICU, let's move this to radar and continue there. Marking as RESOLVED MOVED.