tor-browser

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

commit 6a0626aaa09a87200258dbf6161fde44722c763e
parent 24884671ec7874b2fbaf3075c532ef4d166150d7
Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Date:   Thu, 25 Dec 2025 08:29:26 +0000

Bug 2007623 - Clean up unused binding functions in unic-langid-ffi. r=platform-i18n-reviewers,dminor

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

Diffstat:
MCargo.lock | 1-
Mintl/locale/rust/unic-langid-ffi/Cargo.toml | 1-
Mintl/locale/rust/unic-langid-ffi/cbindgen.toml | 4----
Mintl/locale/rust/unic-langid-ffi/src/lib.rs | 125+------------------------------------------------------------------------------
4 files changed, 1 insertion(+), 130 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -7311,7 +7311,6 @@ name = "unic-langid-ffi" version = "0.1.0" dependencies = [ "nsstring", - "thin-vec", "unic-langid", ] diff --git a/intl/locale/rust/unic-langid-ffi/Cargo.toml b/intl/locale/rust/unic-langid-ffi/Cargo.toml @@ -7,5 +7,4 @@ edition = "2018" [dependencies] nsstring = { path = "../../../../xpcom/rust/nsstring" } -thin-vec = { version = "0.2.1", features = ["gecko-ffi"] } unic-langid = { version = "0.9", features = ["likelysubtags"] } diff --git a/intl/locale/rust/unic-langid-ffi/cbindgen.toml b/intl/locale/rust/unic-langid-ffi/cbindgen.toml @@ -16,7 +16,3 @@ namespaces = ["mozilla", "intl", "ffi"] [parse] parse_deps = true include = ["unic-langid", "unic-langid-impl"] - -[export.rename] -"ThinVec" = "nsTArray" -"nsCStr" = "nsDependentCSubstring" diff --git a/intl/locale/rust/unic-langid-ffi/src/lib.rs b/intl/locale/rust/unic-langid-ffi/src/lib.rs @@ -2,8 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -use nsstring::{nsACString, nsCStr, nsCString}; -use thin_vec::ThinVec; +use nsstring::nsACString; pub use unic_langid::{subtags, CharacterDirection, LanguageIdentifier, LanguageIdentifierError}; pub fn new_langid_for_mozilla( @@ -33,133 +32,11 @@ pub extern "C" fn unic_langid_canonicalize(name: &mut nsACString) -> bool { } #[no_mangle] -pub extern "C" fn unic_langid_new( - name: &nsACString, - ret_val: &mut bool, -) -> *mut LanguageIdentifier { - let langid = new_langid_for_mozilla(name); - - *ret_val = langid.is_ok(); - Box::into_raw(Box::new(langid.unwrap_or_default())) -} - -#[no_mangle] pub unsafe extern "C" fn unic_langid_destroy(langid: *mut LanguageIdentifier) { let _ = Box::from_raw(langid); } #[no_mangle] -pub extern "C" fn unic_langid_as_string(langid: &mut LanguageIdentifier, ret_val: &mut nsACString) { - ret_val.assign(&langid.to_string()); -} - -#[no_mangle] -pub extern "C" fn unic_langid_get_language<'a>( - langid: &'a LanguageIdentifier, - out: &mut nsCStr<'a>, -) { - *out = nsCStr::from(langid.language.as_str()); -} - -#[no_mangle] -pub extern "C" fn unic_langid_set_language( - langid: &mut LanguageIdentifier, - string: &nsACString, -) -> bool { - subtags::Language::from_bytes(string) - .map(|lang| langid.language = lang) - .is_ok() -} - -#[no_mangle] -pub extern "C" fn unic_langid_clear_language(langid: &mut LanguageIdentifier) { - langid.language.clear() -} - -#[no_mangle] -pub extern "C" fn unic_langid_get_script<'a>(langid: &'a LanguageIdentifier, out: &mut nsCStr<'a>) { - *out = nsCStr::from(langid.script.as_ref().map_or("", |s| s.as_str())); -} - -#[no_mangle] -pub extern "C" fn unic_langid_set_script( - langid: &mut LanguageIdentifier, - string: &nsACString, -) -> bool { - subtags::Script::from_bytes(string) - .map(|script| langid.script = Some(script)) - .is_ok() -} - -#[no_mangle] -pub extern "C" fn unic_langid_clear_script(langid: &mut LanguageIdentifier) { - langid.script = None; -} - -#[no_mangle] -pub extern "C" fn unic_langid_get_region<'a>(langid: &'a LanguageIdentifier, out: &mut nsCStr<'a>) { - *out = nsCStr::from(langid.region.as_ref().map_or("", |s| s.as_str())); -} - -#[no_mangle] -pub extern "C" fn unic_langid_set_region( - langid: &mut LanguageIdentifier, - string: &nsACString, -) -> bool { - subtags::Region::from_bytes(string) - .map(|region| langid.region = Some(region)) - .is_ok() -} - -#[no_mangle] -pub extern "C" fn unic_langid_clear_region(langid: &mut LanguageIdentifier) { - langid.region = None; -} - -#[no_mangle] -pub extern "C" fn unic_langid_get_variants( - langid: &LanguageIdentifier, - variants: &mut ThinVec<nsCString>, -) { - for v in langid.variants() { - variants.push(v.as_str().into()); - } -} - -#[no_mangle] -pub extern "C" fn unic_langid_set_variants( - langid: &mut LanguageIdentifier, - variants: &ThinVec<nsCString>, -) -> bool { - variants - .iter() - .map(|v| subtags::Variant::from_bytes(v)) - .collect::<Result<Vec<_>, _>>() - .map(|variants| langid.set_variants(&variants)) - .is_ok() -} - -#[no_mangle] -pub extern "C" fn unic_langid_clear_variants(langid: &mut LanguageIdentifier) { - langid.clear_variants() -} - -#[no_mangle] -pub extern "C" fn unic_langid_matches( - langid: &LanguageIdentifier, - other: &LanguageIdentifier, - self_as_range: bool, - other_as_range: bool, -) -> bool { - langid.matches(other, self_as_range, other_as_range) -} - -#[no_mangle] -pub extern "C" fn unic_langid_maximize(langid: &mut LanguageIdentifier) -> bool { - langid.maximize() -} - -#[no_mangle] pub extern "C" fn unic_langid_is_rtl(name: &nsACString) -> bool { match new_langid_for_mozilla(name) { Ok(langid) => langid.character_direction() == CharacterDirection::RTL,