tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit b0d1e698fd76803ba7c74eb5b9e8dd3a57c723bf
parent 4a17a424d0a010673a97d3f74cb209d43ec1c390
Author: André Bargull <andre.bargull@gmail.com>
Date:   Tue, 16 Dec 2025 18:23:28 +0000

Bug 2005531 - Part 4: Move CanonicalizeLocaleList declaration to LocaleNegotiation. r=spidermonkey-reviewers,dminor

Move the declaration into "LocaleNegotiation" to match the spec structure [1].

[1] https://tc39.es/ecma402/#sec-canonicalizelocalelist

Differential Revision: https://phabricator.services.mozilla.com/D276022

Diffstat:
Mjs/src/builtin/String.cpp | 2+-
Mjs/src/builtin/intl/CommonFunctions.h | 5-----
Mjs/src/builtin/intl/Locale.cpp | 1+
Mjs/src/builtin/intl/LocaleNegotiation.h | 10++++++++++
4 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/js/src/builtin/String.cpp b/js/src/builtin/String.cpp @@ -34,7 +34,7 @@ # include "builtin/intl/CommonFunctions.h" # include "builtin/intl/FormatBuffer.h" # include "builtin/intl/GlobalIntlData.h" -# include "builtin/intl/Locale.h" +# include "builtin/intl/LocaleNegotiation.h" #endif #include "builtin/RegExp.h" #include "gc/GC.h" diff --git a/js/src/builtin/intl/CommonFunctions.h b/js/src/builtin/intl/CommonFunctions.h @@ -96,11 +96,6 @@ extern const OldStyleLanguageTagMapping oldStyleLanguageTagMappings[5]; extern JS::UniqueChars EncodeLocale(JSContext* cx, JSString* locale); -using LocalesList = JS::StackGCVector<JSLinearString*>; - -bool CanonicalizeLocaleList(JSContext* cx, JS::Handle<JS::Value> locales, - JS::MutableHandle<LocalesList> result); - // The inline capacity we use for a Vector<char16_t>. Use this to ensure that // our uses of ICU string functions, below and elsewhere, will try to fill the // buffer's entire inline capacity before growing it and heap-allocating. diff --git a/js/src/builtin/intl/Locale.cpp b/js/src/builtin/intl/Locale.cpp @@ -25,6 +25,7 @@ #include "builtin/intl/CommonFunctions.h" #include "builtin/intl/FormatBuffer.h" #include "builtin/intl/LanguageTag.h" +#include "builtin/intl/LocaleNegotiation.h" #include "builtin/intl/StringAsciiChars.h" #include "builtin/String.h" #include "js/Conversions.h" diff --git a/js/src/builtin/intl/LocaleNegotiation.h b/js/src/builtin/intl/LocaleNegotiation.h @@ -16,6 +16,16 @@ namespace js::intl { enum class AvailableLocaleKind; +using LocalesList = JS::StackGCVector<JSLinearString*>; + +/** + * Canonicalizes a locale list. + * + * Spec: ECMAScript Internationalization API Specification, 9.2.1. + */ +bool CanonicalizeLocaleList(JSContext* cx, JS::Handle<JS::Value> locales, + JS::MutableHandle<LocalesList> result); + /** * Compares a BCP 47 language tag against the locales in availableLocales and * returns the best available match -- or |nullptr| if no match was found.