Unify Intl APIs in intl/locale/nsCollation.h
Categories
(Core :: Internationalization, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox93 | --- | fixed |
People
(Reporter: gregtatum, Assigned: gregtatum)
References
(Regressed 1 open bug)
Details
(Keywords: perf-alert, Whiteboard: [i18n-unification])
Attachments
(12 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Work: Medium
What it is: An abstraction over the collator
https://searchfox.org/mozilla-central/source/intl/locale/nsCollation.h
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
This collator has all the features needed for backing nsCollation.h. The tests
focus on making sure the component is wired correctly, but does not worry over
much about correctness of the backing implementation. I felt that this was covered
well by existing tests such as intl/locale/tests/gtest/TestCollation.cpp
Assignee | ||
Comment 2•3 years ago
|
||
As part of the mozilla::intl unification project, this removes the direct calls
to ICU4C, and instead uses mozilla::intl::Collator.
I included a little bit of simplification by removing the mHasCollator, and
relied on the mCollator to be nullptr instead.
I also removed nsCollation::ConvertStrength so that I could only forward
declare the mozilla::intl::Collator and simplify the header imports. The
function where it was being used ended up being simplified anyway through
the new API.
Depends on D120494
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
This is an experiment to completely remove nsCollation.
Depends on D120495
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
SpiderMonkey requires the BCP 47 locale extensions, which involves iterating
over the keywords in ICU, and mapping them to the BCP 47 version. Specifically,
this will change the "phonebook" keyword to "phonebk". This should hopefully
expose a simpler API to SpiderMonkey, the only consumer.
Depends on D120494
Assignee | ||
Comment 5•3 years ago
|
||
Depends on D120903
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
This method will allow mozilla::intl components to be initialized in the current
Gecko app's locale.
Depends on D120904
Updated•3 years ago
|
Assignee | ||
Comment 7•3 years ago
|
||
Depends on D120526
Assignee | ||
Comment 8•3 years ago
|
||
Depends on D121429
Assignee | ||
Comment 9•3 years ago
|
||
Depends on D121430
Assignee | ||
Comment 10•3 years ago
|
||
Depends on D121431
Assignee | ||
Comment 11•3 years ago
|
||
Depends on D121432
Assignee | ||
Comment 12•3 years ago
|
||
This now uses JavaScript's standardized Intl.Collator.
Depends on D121433
Assignee | ||
Comment 13•3 years ago
|
||
All the call sites now use mozilla::intl::Collator
Depends on D121434
Comment 14•3 years ago
|
||
Comment 15•3 years ago
|
||
Backed out for bustages on TestCollator.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/495f05c1de4a5fe9f557c23c168b656116567fec
Log link: https://treeherder.mozilla.org/logviewer?job_id=347971665&repo=autoland&lineNumber=39743
Comment 16•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Comment 17•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f05d70fc350c
https://hg.mozilla.org/mozilla-central/rev/4c972c58e835
https://hg.mozilla.org/mozilla-central/rev/45228aa42bc7
https://hg.mozilla.org/mozilla-central/rev/6aad2834ea2f
https://hg.mozilla.org/mozilla-central/rev/ed5309e3101a
https://hg.mozilla.org/mozilla-central/rev/07628cc8c768
https://hg.mozilla.org/mozilla-central/rev/bfa3c9c9e5d3
https://hg.mozilla.org/mozilla-central/rev/5e7ff35e0560
https://hg.mozilla.org/mozilla-central/rev/9f822c3f4f6a
https://hg.mozilla.org/mozilla-central/rev/184d7eadd3a1
https://hg.mozilla.org/mozilla-central/rev/fae99cc97f31
https://hg.mozilla.org/mozilla-central/rev/1a74809df6b9
Comment 18•3 years ago
|
||
== Change summary for alert #30871 (as of Tue, 10 Aug 2021 16:35:26 GMT) ==
Improvements:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
19% | decision | gecko-decision | 144.49 -> 116.75 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=30871
Updated•3 years ago
|
Updated•3 years ago
|
Description
•