Index: chrome/browser/character_encoding.cc |
diff --git a/chrome/browser/character_encoding.cc b/chrome/browser/character_encoding.cc |
index dd15587fa03c2800d5a35d4338fc1cb8579c24f8..83f7a45146542f9c42e1d69939894289bca7e48b 100644 |
--- a/chrome/browser/character_encoding.cc |
+++ b/chrome/browser/character_encoding.cc |
@@ -23,57 +23,57 @@ const size_t kUserSelectedEncodingsMaxLength = 3; |
typedef struct { |
int resource_id; |
- const wchar_t* name; |
+ const char* name; |
int category_string_id; |
} CanonicalEncodingData; |
// An array of all supported canonical encoding names. |
static CanonicalEncodingData canonical_encoding_names[] = { |
- { IDC_ENCODING_UTF8, L"UTF-8", IDS_ENCODING_UNICODE }, |
- { IDC_ENCODING_UTF16LE, L"UTF-16LE", IDS_ENCODING_UNICODE }, |
- { IDC_ENCODING_ISO88591, L"ISO-8859-1", IDS_ENCODING_WESTERN }, |
- { IDC_ENCODING_WINDOWS1252, L"windows-1252", IDS_ENCODING_WESTERN }, |
- { IDC_ENCODING_GBK, L"GBK", IDS_ENCODING_SIMP_CHINESE }, |
- { IDC_ENCODING_GB18030, L"gb18030", IDS_ENCODING_SIMP_CHINESE }, |
- { IDC_ENCODING_BIG5, L"Big5", IDS_ENCODING_TRAD_CHINESE }, |
- { IDC_ENCODING_BIG5HKSCS, L"Big5-HKSCS", IDS_ENCODING_TRAD_CHINESE }, |
- { IDC_ENCODING_KOREAN, L"windows-949", IDS_ENCODING_KOREAN }, |
- { IDC_ENCODING_SHIFTJIS, L"Shift_JIS", IDS_ENCODING_JAPANESE }, |
- { IDC_ENCODING_EUCJP, L"EUC-JP", IDS_ENCODING_JAPANESE }, |
- { IDC_ENCODING_ISO2022JP, L"ISO-2022-JP", IDS_ENCODING_JAPANESE }, |
- { IDC_ENCODING_THAI, L"windows-874", IDS_ENCODING_THAI }, |
- { IDC_ENCODING_ISO885915, L"ISO-8859-15", IDS_ENCODING_WESTERN }, |
- { IDC_ENCODING_MACINTOSH, L"macintosh", IDS_ENCODING_WESTERN }, |
- { IDC_ENCODING_ISO88592, L"ISO-8859-2", IDS_ENCODING_CENTRAL_EUROPEAN }, |
- { IDC_ENCODING_WINDOWS1250, L"windows-1250", IDS_ENCODING_CENTRAL_EUROPEAN }, |
- { IDC_ENCODING_ISO88595, L"ISO-8859-5", IDS_ENCODING_CYRILLIC }, |
- { IDC_ENCODING_WINDOWS1251, L"windows-1251", IDS_ENCODING_CYRILLIC }, |
- { IDC_ENCODING_KOI8R, L"KOI8-R", IDS_ENCODING_CYRILLIC }, |
- { IDC_ENCODING_KOI8U, L"KOI8-U", IDS_ENCODING_CYRILLIC }, |
- { IDC_ENCODING_ISO88597, L"ISO-8859-7", IDS_ENCODING_GREEK }, |
- { IDC_ENCODING_WINDOWS1253, L"windows-1253", IDS_ENCODING_GREEK }, |
- { IDC_ENCODING_WINDOWS1254, L"windows-1254", IDS_ENCODING_TURKISH }, |
- { IDC_ENCODING_WINDOWS1256, L"windows-1256", IDS_ENCODING_ARABIC }, |
- { IDC_ENCODING_ISO88596, L"ISO-8859-6", IDS_ENCODING_ARABIC }, |
- { IDC_ENCODING_WINDOWS1255, L"windows-1255", IDS_ENCODING_HEBREW }, |
- { IDC_ENCODING_ISO88598I, L"ISO-8859-8-I", IDS_ENCODING_HEBREW }, |
- { IDC_ENCODING_ISO88598, L"ISO-8859-8", IDS_ENCODING_HEBREW }, |
- { IDC_ENCODING_WINDOWS1258, L"windows-1258", IDS_ENCODING_VIETNAMESE }, |
- { IDC_ENCODING_ISO88594, L"ISO-8859-4", IDS_ENCODING_BALTIC }, |
- { IDC_ENCODING_ISO885913, L"ISO-8859-13", IDS_ENCODING_BALTIC }, |
- { IDC_ENCODING_WINDOWS1257, L"windows-1257", IDS_ENCODING_BALTIC }, |
- { IDC_ENCODING_ISO88593, L"ISO-8859-3", IDS_ENCODING_SOUTH_EUROPEAN }, |
- { IDC_ENCODING_ISO885910, L"ISO-8859-10", IDS_ENCODING_NORDIC }, |
- { IDC_ENCODING_ISO885914, L"ISO-8859-14", IDS_ENCODING_CELTIC }, |
- { IDC_ENCODING_ISO885916, L"ISO-8859-16", IDS_ENCODING_ROMANIAN }, |
+ { IDC_ENCODING_UTF8, "UTF-8", IDS_ENCODING_UNICODE }, |
+ { IDC_ENCODING_UTF16LE, "UTF-16LE", IDS_ENCODING_UNICODE }, |
+ { IDC_ENCODING_ISO88591, "ISO-8859-1", IDS_ENCODING_WESTERN }, |
+ { IDC_ENCODING_WINDOWS1252, "windows-1252", IDS_ENCODING_WESTERN }, |
+ { IDC_ENCODING_GBK, "GBK", IDS_ENCODING_SIMP_CHINESE }, |
+ { IDC_ENCODING_GB18030, "gb18030", IDS_ENCODING_SIMP_CHINESE }, |
+ { IDC_ENCODING_BIG5, "Big5", IDS_ENCODING_TRAD_CHINESE }, |
+ { IDC_ENCODING_BIG5HKSCS, "Big5-HKSCS", IDS_ENCODING_TRAD_CHINESE }, |
+ { IDC_ENCODING_KOREAN, "windows-949", IDS_ENCODING_KOREAN }, |
+ { IDC_ENCODING_SHIFTJIS, "Shift_JIS", IDS_ENCODING_JAPANESE }, |
+ { IDC_ENCODING_EUCJP, "EUC-JP", IDS_ENCODING_JAPANESE }, |
+ { IDC_ENCODING_ISO2022JP, "ISO-2022-JP", IDS_ENCODING_JAPANESE }, |
+ { IDC_ENCODING_THAI, "windows-874", IDS_ENCODING_THAI }, |
+ { IDC_ENCODING_ISO885915, "ISO-8859-15", IDS_ENCODING_WESTERN }, |
+ { IDC_ENCODING_MACINTOSH, "macintosh", IDS_ENCODING_WESTERN }, |
+ { IDC_ENCODING_ISO88592, "ISO-8859-2", IDS_ENCODING_CENTRAL_EUROPEAN }, |
+ { IDC_ENCODING_WINDOWS1250, "windows-1250", IDS_ENCODING_CENTRAL_EUROPEAN }, |
+ { IDC_ENCODING_ISO88595, "ISO-8859-5", IDS_ENCODING_CYRILLIC }, |
+ { IDC_ENCODING_WINDOWS1251, "windows-1251", IDS_ENCODING_CYRILLIC }, |
+ { IDC_ENCODING_KOI8R, "KOI8-R", IDS_ENCODING_CYRILLIC }, |
+ { IDC_ENCODING_KOI8U, "KOI8-U", IDS_ENCODING_CYRILLIC }, |
+ { IDC_ENCODING_ISO88597, "ISO-8859-7", IDS_ENCODING_GREEK }, |
+ { IDC_ENCODING_WINDOWS1253, "windows-1253", IDS_ENCODING_GREEK }, |
+ { IDC_ENCODING_WINDOWS1254, "windows-1254", IDS_ENCODING_TURKISH }, |
+ { IDC_ENCODING_WINDOWS1256, "windows-1256", IDS_ENCODING_ARABIC }, |
+ { IDC_ENCODING_ISO88596, "ISO-8859-6", IDS_ENCODING_ARABIC }, |
+ { IDC_ENCODING_WINDOWS1255, "windows-1255", IDS_ENCODING_HEBREW }, |
+ { IDC_ENCODING_ISO88598I, "ISO-8859-8-I", IDS_ENCODING_HEBREW }, |
+ { IDC_ENCODING_ISO88598, "ISO-8859-8", IDS_ENCODING_HEBREW }, |
+ { IDC_ENCODING_WINDOWS1258, "windows-1258", IDS_ENCODING_VIETNAMESE }, |
+ { IDC_ENCODING_ISO88594, "ISO-8859-4", IDS_ENCODING_BALTIC }, |
+ { IDC_ENCODING_ISO885913, "ISO-8859-13", IDS_ENCODING_BALTIC }, |
+ { IDC_ENCODING_WINDOWS1257, "windows-1257", IDS_ENCODING_BALTIC }, |
+ { IDC_ENCODING_ISO88593, "ISO-8859-3", IDS_ENCODING_SOUTH_EUROPEAN }, |
+ { IDC_ENCODING_ISO885910, "ISO-8859-10", IDS_ENCODING_NORDIC }, |
+ { IDC_ENCODING_ISO885914, "ISO-8859-14", IDS_ENCODING_CELTIC }, |
+ { IDC_ENCODING_ISO885916, "ISO-8859-16", IDS_ENCODING_ROMANIAN }, |
}; |
static const int canonical_encoding_names_length = |
arraysize(canonical_encoding_names); |
-typedef std::map<int, std::pair<const wchar_t*, int> > |
+typedef std::map<int, std::pair<const char*, int> > |
IdToCanonicalEncodingNameMapType; |
-typedef std::map<const std::wstring, int> CanonicalEncodingNameToIdMapType; |
+typedef std::map<const std::string, int> CanonicalEncodingNameToIdMapType; |
class CanonicalEncodingMap { |
public: |
@@ -97,7 +97,7 @@ class CanonicalEncodingMap { |
std::vector<int> locale_dependent_encoding_ids_; |
std::vector<CharacterEncoding::EncodingInfo> current_display_encodings_; |
- DISALLOW_EVIL_CONSTRUCTORS(CanonicalEncodingMap); |
+ DISALLOW_COPY_AND_ASSIGN(CanonicalEncodingMap); |
}; |
const IdToCanonicalEncodingNameMapType* |
@@ -179,9 +179,9 @@ const int default_encoding_menus_length = arraysize(default_encoding_menus); |
// The parameter |maximum_size| indicates maximum size of encoding items we |
// want to get from the |encoding_list|. |
void ParseEncodingListSeparatedWithComma( |
- const std::wstring& encoding_list, std::vector<int>* const available_list, |
+ const std::string& encoding_list, std::vector<int>* const available_list, |
size_t maximum_size) { |
- WStringTokenizer tokenizer(encoding_list, L","); |
+ StringTokenizer tokenizer(encoding_list, ","); |
while (tokenizer.GetNext()) { |
int id = CharacterEncoding::GetCommandIdByCanonicalEncodingName( |
tokenizer.token()); |
@@ -194,15 +194,15 @@ void ParseEncodingListSeparatedWithComma( |
} |
} |
-std::wstring GetEncodingDisplayName(std::wstring encoding_name, |
- int category_string_id) { |
- std::wstring category_name = l10n_util::GetString(category_string_id); |
+string16 GetEncodingDisplayName(std::string encoding_name, |
+ int category_string_id) { |
+ string16 category_name = l10n_util::GetStringUTF16(category_string_id); |
if (category_string_id != IDS_ENCODING_KOREAN && |
category_string_id != IDS_ENCODING_THAI && |
category_string_id != IDS_ENCODING_TURKISH) { |
- return l10n_util::GetStringF(IDS_ENCODING_DISPLAY_TEMPLATE, |
- category_name, |
- encoding_name); |
+ return l10n_util::GetStringFUTF16(IDS_ENCODING_DISPLAY_TEMPLATE, |
+ category_name, |
+ ASCIIToUTF16(encoding_name)); |
} |
return category_name; |
} |
@@ -219,24 +219,25 @@ int GetEncodingCategoryStringIdByCommandId(int id) { |
return 0; |
} |
-std::wstring GetEncodingCategoryStringByCommandId(int id) { |
+std::string GetEncodingCategoryStringByCommandId(int id) { |
int category_id = GetEncodingCategoryStringIdByCommandId(id); |
if (category_id) |
- return l10n_util::GetString(category_id); |
- return std::wstring(); |
+ return l10n_util::GetStringUTF8(category_id); |
+ return std::string(); |
} |
} // namespace |
CharacterEncoding::EncodingInfo::EncodingInfo(int id) |
: encoding_id(id) { |
- encoding_category_name = GetEncodingCategoryStringByCommandId(id), |
- encoding_display_name = GetCanonicalEncodingDisplayNameByCommandId(id); |
+ encoding_category_name = UTF8ToWide(GetEncodingCategoryStringByCommandId(id)); |
+ encoding_display_name = UTF16ToWideHack( |
+ GetCanonicalEncodingDisplayNameByCommandId(id)); |
} |
// Static. |
int CharacterEncoding::GetCommandIdByCanonicalEncodingName( |
- const std::wstring& encoding_name) { |
+ const std::string& encoding_name) { |
const CanonicalEncodingNameToIdMapType* map = |
canonical_encoding_name_map_singleton. |
GetCanonicalEncodingNameToIdMapData(); |
@@ -250,7 +251,7 @@ int CharacterEncoding::GetCommandIdByCanonicalEncodingName( |
} |
// Static. |
-std::wstring CharacterEncoding::GetCanonicalEncodingNameByCommandId(int id) { |
+std::string CharacterEncoding::GetCanonicalEncodingNameByCommandId(int id) { |
const IdToCanonicalEncodingNameMapType* map = |
canonical_encoding_name_map_singleton. |
GetIdToCanonicalEncodingNameMapData(); |
@@ -259,11 +260,11 @@ std::wstring CharacterEncoding::GetCanonicalEncodingNameByCommandId(int id) { |
IdToCanonicalEncodingNameMapType::const_iterator found_name = map->find(id); |
if (found_name != map->end()) |
return found_name->second.first; |
- return std::wstring(); |
+ return std::string(); |
} |
// Static. |
-std::wstring CharacterEncoding::GetCanonicalEncodingDisplayNameByCommandId( |
+string16 CharacterEncoding::GetCanonicalEncodingDisplayNameByCommandId( |
int id) { |
const IdToCanonicalEncodingNameMapType* map = |
canonical_encoding_name_map_singleton. |
@@ -274,7 +275,7 @@ std::wstring CharacterEncoding::GetCanonicalEncodingDisplayNameByCommandId( |
if (found_name != map->end()) |
return GetEncodingDisplayName(found_name->second.first, |
found_name->second.second); |
- return std::wstring(); |
+ return string16(); |
} |
// Static. |
@@ -284,19 +285,19 @@ int CharacterEncoding::GetSupportCanonicalEncodingCount() { |
} |
// Static. |
-std::wstring CharacterEncoding::GetCanonicalEncodingNameByIndex(int index) { |
+std::string CharacterEncoding::GetCanonicalEncodingNameByIndex(int index) { |
if (index < canonical_encoding_names_length) |
return canonical_encoding_names[index].name; |
- return std::wstring(); |
+ return std::string(); |
} |
// Static. |
-std::wstring CharacterEncoding::GetCanonicalEncodingDisplayNameByIndex( |
+string16 CharacterEncoding::GetCanonicalEncodingDisplayNameByIndex( |
int index) { |
if (index < canonical_encoding_names_length) |
return GetEncodingDisplayName(canonical_encoding_names[index].name, |
canonical_encoding_names[index].category_string_id); |
- return std::wstring(); |
+ return string16(); |
} |
// Static. |
@@ -307,8 +308,8 @@ int CharacterEncoding::GetEncodingCommandIdByIndex(int index) { |
} |
// Static. |
-std::wstring CharacterEncoding::GetCanonicalEncodingNameByAliasName( |
- const std::wstring& alias_name) { |
+std::string CharacterEncoding::GetCanonicalEncodingNameByAliasName( |
+ const std::string& alias_name) { |
// If the input alias_name is already canonical encoding name, just return it. |
const CanonicalEncodingNameToIdMapType* map = |
canonical_encoding_name_map_singleton. |
@@ -323,12 +324,12 @@ std::wstring CharacterEncoding::GetCanonicalEncodingNameByAliasName( |
UErrorCode error_code = U_ZERO_ERROR; |
const char* canonical_name = ucnv_getCanonicalName( |
- WideToASCII(alias_name).c_str(), "MIME", &error_code); |
+ alias_name.c_str(), "MIME", &error_code); |
// If failed, then try IANA next. |
if (U_FAILURE(error_code) || !canonical_name) { |
error_code = U_ZERO_ERROR; |
canonical_name = ucnv_getCanonicalName( |
- WideToASCII(alias_name).c_str(), "IANA", &error_code); |
+ alias_name.c_str(), "IANA", &error_code); |
} |
if (canonical_name) { |
@@ -337,11 +338,11 @@ std::wstring CharacterEncoding::GetCanonicalEncodingNameByAliasName( |
// We don't want to add an unnecessary charset to the encoding menu, so we |
// alias 'US-ASCII' to 'ISO-8859-1' in our UI without touching WebKit. |
// http://crbug.com/15801. |
- if (alias_name == L"US-ASCII") |
+ if (alias_name == "US-ASCII") |
return GetCanonicalEncodingNameByCommandId(IDC_ENCODING_ISO88591); |
- return ASCIIToWide(canonical_name); |
+ return canonical_name; |
} else { |
- return std::wstring(); |
+ return std::string(); |
} |
} |
@@ -353,8 +354,8 @@ std::wstring CharacterEncoding::GetCanonicalEncodingNameByAliasName( |
const std::vector<CharacterEncoding::EncodingInfo>* |
CharacterEncoding::GetCurrentDisplayEncodings( |
const std::string& locale, |
- const std::wstring& locale_encodings, |
- const std::wstring& recently_select_encodings) { |
+ const std::string& locale_encodings, |
+ const std::string& recently_select_encodings) { |
std::vector<int>* const locale_dependent_encoding_list = |
canonical_encoding_name_map_singleton.locale_dependent_encoding_ids(); |
std::vector<CharacterEncoding::EncodingInfo>* const encoding_list = |
@@ -366,7 +367,7 @@ const std::vector<CharacterEncoding::EncodingInfo>* |
locale_dependent_encoding_list, |
kUserSelectedEncodingsMaxLength); |
- static std::wstring cached_user_selected_encodings; |
+ static std::string cached_user_selected_encodings; |
// Build current display encoding list. |
if (encoding_list->empty() || |
cached_user_selected_encodings != recently_select_encodings) { |
@@ -439,11 +440,11 @@ const std::vector<CharacterEncoding::EncodingInfo>* |
// Static |
bool CharacterEncoding::UpdateRecentlySelectdEncoding( |
- const std::wstring& original_selected_encodings, |
+ const std::string& original_selected_encodings, |
int new_selected_encoding_id, |
- std::wstring* selected_encodings) { |
+ std::string* selected_encodings) { |
// Get encoding name. |
- std::wstring encoding_name = |
+ std::string encoding_name = |
GetCanonicalEncodingNameByCommandId(new_selected_encoding_id); |
DCHECK(!encoding_name.empty()); |
// Check whether the new encoding is in local dependent encodings or original |