Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1287)

Unified Diff: third_party/WebKit/Source/platform/text/LocaleWin.cpp

Issue 1632173002: Remove Windows XP support code in LocaleWin.cpp. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/platform/text/LocaleWin.cpp
diff --git a/third_party/WebKit/Source/platform/text/LocaleWin.cpp b/third_party/WebKit/Source/platform/text/LocaleWin.cpp
index 121ca52e1bc77b8da13e8f2cada0f6896478789f..8c400713886a02cce4fa30ddafd7b941909b2a35 100644
--- a/third_party/WebKit/Source/platform/text/LocaleWin.cpp
+++ b/third_party/WebKit/Source/platform/text/LocaleWin.cpp
@@ -46,9 +46,6 @@
namespace blink {
-typedef LCID (WINAPI* LocaleNameToLCIDPtr)(LPCWSTR, DWORD);
-typedef HashMap<String, LCID> NameToLCIDMap;
-
static String extractLanguageCode(const String& locale)
{
size_t dashPosition = locale.find('-');
@@ -57,90 +54,25 @@ static String extractLanguageCode(const String& locale)
return locale.left(dashPosition);
}
-static String removeLastComponent(const String& name)
-{
- size_t lastSeparator = name.reverseFind('-');
- if (lastSeparator == kNotFound)
- return emptyString();
- return name.left(lastSeparator);
-}
-
-static void ensureNameToLCIDMap(NameToLCIDMap& map)
-{
- if (!map.isEmpty())
- return;
- // http://www.microsoft.com/resources/msdn/goglobal/default.mspx
- // We add only locales used in layout tests for now.
- map.add("ar", 0x0001);
- map.add("ar-eg", 0x0C01);
- map.add("de", 0x0007);
- map.add("de-de", 0x0407);
- map.add("el", 0x0008);
- map.add("el-gr", 0x0408);
- map.add("en", 0x0009);
- map.add("en-gb", 0x0809);
- map.add("en-us", 0x0409);
- map.add("fr", 0x000C);
- map.add("fr-fr", 0x040C);
- map.add("he", 0x000D);
- map.add("he-il", 0x040D);
- map.add("hi", 0x0039);
- map.add("hi-in", 0x0439);
- map.add("ja", 0x0011);
- map.add("ja-jp", 0x0411);
- map.add("ko", 0x0012);
- map.add("ko-kr", 0x0412);
- map.add("ru", 0x0019);
- map.add("ru-ru", 0x0419);
- map.add("zh-cn", 0x0804);
- map.add("zh-tw", 0x0404);
-}
-
-// Fallback implementation of LocaleNameToLCID API. This is used for
-// testing on Windows XP.
-// FIXME: Remove this, ensureNameToLCIDMap, and removeLastComponent when we drop
-// Windows XP support.
-static LCID WINAPI convertLocaleNameToLCID(LPCWSTR name, DWORD)
-{
- if (!name || !name[0])
- return LOCALE_USER_DEFAULT;
- DEFINE_STATIC_LOCAL(NameToLCIDMap, map, ());
- ensureNameToLCIDMap(map);
- String localeName = String(name).replace('_', '-');
- localeName = localeName.lower();
- do {
- NameToLCIDMap::const_iterator iterator = map.find(localeName);
- if (iterator != map.end())
- return iterator->value;
- localeName = removeLastComponent(localeName);
- } while (!localeName.isEmpty());
- return LOCALE_USER_DEFAULT;
-}
-
-static LCID LCIDFromLocaleInternal(LCID userDefaultLCID, const String& userDefaultLanguageCode, LocaleNameToLCIDPtr localeNameToLCID, const String& locale)
+static LCID LCIDFromLocaleInternal(LCID userDefaultLCID, const String& userDefaultLanguageCode, const String& locale)
{
String localeLanguageCode = extractLanguageCode(locale);
if (equalIgnoringCase(localeLanguageCode, userDefaultLanguageCode))
return userDefaultLCID;
- return localeNameToLCID(locale.charactersWithNullTermination().data(), 0);
+ return ::LocaleNameToLCID(locale.charactersWithNullTermination().data(), 0);
}
static LCID LCIDFromLocale(const String& locale, bool defaultsForLocale)
{
- // LocaleNameToLCID() is available since Windows Vista.
- LocaleNameToLCIDPtr localeNameToLCID = reinterpret_cast<LocaleNameToLCIDPtr>(::GetProcAddress(::GetModuleHandle(L"kernel32"), "LocaleNameToLCID"));
- if (!localeNameToLCID)
- localeNameToLCID = convertLocaleNameToLCID;
-
// According to MSDN, 9 is enough for LOCALE_SISO639LANGNAME.
const size_t languageCodeBufferSize = 9;
WCHAR lowercaseLanguageCode[languageCodeBufferSize];
::GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME | (defaultsForLocale ? LOCALE_NOUSEROVERRIDE : 0), lowercaseLanguageCode, languageCodeBufferSize);
String userDefaultLanguageCode = String(lowercaseLanguageCode);
- LCID lcid = LCIDFromLocaleInternal(LOCALE_USER_DEFAULT, userDefaultLanguageCode, localeNameToLCID, locale);
+ LCID lcid = LCIDFromLocaleInternal(LOCALE_USER_DEFAULT, userDefaultLanguageCode, locale);
if (!lcid)
- lcid = LCIDFromLocaleInternal(LOCALE_USER_DEFAULT, userDefaultLanguageCode, localeNameToLCID, defaultLanguage());
+ lcid = LCIDFromLocaleInternal(LOCALE_USER_DEFAULT, userDefaultLanguageCode, defaultLanguage());
return lcid;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698