Bug 1409158 - Use LC_TIME to retrieve OSPreferences::GetRegionalPrefsLocales on Unix. r?jfkthame
MozReview-Commit-ID: ImjQCggy8yk
--- a/intl/locale/gtk/OSPreferences_gtk.cpp
+++ b/intl/locale/gtk/OSPreferences_gtk.cpp
@@ -23,19 +23,28 @@ OSPreferences::ReadSystemLocales(nsTArra
return true;
}
return false;
}
bool
OSPreferences::ReadRegionalPrefsLocales(nsTArray<nsCString>& aLocaleList)
{
- // For now we're just taking System Locales since we don't know of any better
- // API for regional prefs.
- return ReadSystemLocales(aLocaleList);
+ MOZ_ASSERT(aLocaleList.IsEmpty());
+
+ // For now we're just taking the LC_TIME from POSIX environment for all
+ // regional preferences.
+ nsAutoCString localeStr(setlocale(LC_TIME, nullptr));
+
+ if (CanonicalizeLanguageTag(localeStr)) {
+ aLocaleList.AppendElement(localeStr);
+ return true;
+ }
+
+ return false;
}
/*
* This looks up into gtk settings for hourCycle format.
*
* This works for all GUIs that use gtk settings like Gnome, Elementary etc.
* Ubuntu does not use those settings so we'll want to support them separately.
*