Update ICU to 37341
commit04ad1d16a6976808f2b9d1de99b2104a8b5fc90d
authorjshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 28 Jan 2010 07:20:53 +0000 (28 07:20 +0000)
committerjshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 28 Jan 2010 07:20:53 +0000 (28 07:20 +0000)
treeba12828c9b93bf785957232a505f3d4b73ad78ef
parent98230185a05b48411eda46b183dd9ce8c51db607
Update ICU to 37341

Make ICU call setlocale(LC_MESSAGES, NULL) instead of setlocale(LC_CTYPE, NULL) to
determine the default OS locale. If setlocale() fails, it'll refer to the
environment variables LC_ALL, LC_MESSAGES and LANG, in turn.

In addition, make ICU determine the default codepage using nl_langinfo(CODESET)
when it's available. If it fails, it falls back to setlocale(LC_CTYPE, NULL) and
the environment variables LC_ALL, LC_CTYPE and LANG in turn. This change doesn't
affect Chrome because Chrome does not use any ICU charset conversion API relying
on the default codepage.

BUG=19491
TEST=Run Chrome with the following environment variables set and sv_SE.UTF-8
locale installed. In all 4 cases, Swedish Chrome should be launched. The 3rd
and the 4th cases work without this change.
1. LC_ALL: unset, LANG=sv_SE.UTF-8, LC_CTYPE=en_US.UTF-8, LANGUAGE:unset
2. LC_ALL: unset, LC_MESSAGES=sv_SE.UTF-8, LC_CTYPE=en_US.UTF-8, LANGUAGE:unset
3. LC_ALL=sv_SE.UTF-8, LC_CTYPE=en_US.UTF-8, LANGUAGE: unset
4. LANGUAGE=sv:fr:en, LC_CTYPE=en_US.UTF-8
TBR=tony

Review URL: http://codereview.chromium.org/548176

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37386 0039d316-1c4b-4281-b951-d872f2087c98
DEPS