| Index: app/l10n_util.cc | 
| diff --git a/app/l10n_util.cc b/app/l10n_util.cc | 
| index a77af25b986e8e00562cb3875a8a0a6971a3157b..148151d6f04b1cd66a0c550b3befaf652c175479 100644 | 
| --- a/app/l10n_util.cc | 
| +++ b/app/l10n_util.cc | 
| @@ -44,9 +44,6 @@ static const FilePath::CharType kLocaleFileExtension[] = L".dll"; | 
| static const FilePath::CharType kLocaleFileExtension[] = ".pak"; | 
| #endif | 
|  | 
| -// Added to the end of strings that are too big in TrucateString. | 
| -static const wchar_t* const kElideString = L"\x2026"; | 
| - | 
| static const char* const kAcceptLanguageList[] = { | 
| "af",     // Afrikaans | 
| "am",     // Amharic | 
| @@ -681,27 +678,25 @@ std::wstring GetStringF(int message_id, int64 a) { | 
| return GetStringF(message_id, UTF8ToWide(base::Int64ToString(a))); | 
| } | 
|  | 
| -std::wstring TruncateString(const std::wstring& string, size_t length) { | 
| +string16 TruncateString(const string16& string, size_t length) { | 
| if (string.size() <= length) | 
| // String fits, return it. | 
| return string; | 
|  | 
| if (length == 0) { | 
| -    // No room for the ellide string, return an empty string. | 
| -    return std::wstring(L""); | 
| +    // No room for the elide string, return an empty string. | 
| +    return string16(); | 
| } | 
| size_t max = length - 1; | 
|  | 
| +  // Added to the end of strings that are too big. | 
| +  static const char16 kElideString[] = { 0x2026, 0 }; | 
| + | 
| if (max == 0) { | 
| // Just enough room for the elide string. | 
| return kElideString; | 
| } | 
|  | 
| -#if defined(WCHAR_T_IS_UTF32) | 
| -  const string16 string_utf16 = WideToUTF16(string); | 
| -#else | 
| -  const std::wstring &string_utf16 = string; | 
| -#endif | 
| // Use a line iterator to find the first boundary. | 
| UErrorCode status = U_ZERO_ERROR; | 
| scoped_ptr<icu::RuleBasedBreakIterator> bi( | 
| @@ -710,14 +705,14 @@ std::wstring TruncateString(const std::wstring& string, size_t length) { | 
| icu::Locale::getDefault(), status))); | 
| if (U_FAILURE(status)) | 
| return string.substr(0, max) + kElideString; | 
| -  bi->setText(string_utf16.c_str()); | 
| +  bi->setText(string.c_str()); | 
| int32_t index = bi->preceding(static_cast<int32_t>(max)); | 
| if (index == icu::BreakIterator::DONE) { | 
| index = static_cast<int32_t>(max); | 
| } else { | 
| // Found a valid break (may be the beginning of the string). Now use | 
| // a character iterator to find the previous non-whitespace character. | 
| -    icu::StringCharacterIterator char_iterator(string_utf16.c_str()); | 
| +    icu::StringCharacterIterator char_iterator(string.c_str()); | 
| if (index == 0) { | 
| // No valid line breaks. Start at the end again. This ensures we break | 
| // on a valid character boundary. | 
|  |