summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 12:51:28 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 12:51:28 +0000
commitd08b6ce1370d4c5a9e26649065a5a907a4786b13 (patch)
tree69bfe3f04aa017dc8b54d3f5365c9f5480ef6d69
parentc100e56d6c42c4ce0fbd4b2bcad405a265f4920c (diff)
downloadchromium_src-d08b6ce1370d4c5a9e26649065a5a907a4786b13.zip
chromium_src-d08b6ce1370d4c5a9e26649065a5a907a4786b13.tar.gz
chromium_src-d08b6ce1370d4c5a9e26649065a5a907a4786b13.tar.bz2
chromeos: Fix chromeos TODO in input_method_util.h
Note: This was a TODO for yusukes. BUG=None TEST=None R=yusukes@chromium.org Review URL: http://codereview.chromium.org/7385007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93186 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/input_method/input_method_util.cc16
-rw-r--r--chrome/browser/chromeos/input_method/input_method_util.h16
-rw-r--r--chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc6
3 files changed, 21 insertions, 17 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_util.cc b/chrome/browser/chromeos/input_method/input_method_util.cc
index 7bac1ce..97a4aba 100644
--- a/chrome/browser/chromeos/input_method/input_method_util.cc
+++ b/chrome/browser/chromeos/input_method/input_method_util.cc
@@ -77,7 +77,7 @@ struct IdMaps {
}
// Go through the languages listed in kExtraLanguages.
- for (size_t i = 0; i < arraysize(kExtraLanguages); ++i) {
+ for (size_t i = 0; i < kExtraLanguagesLength; ++i) {
const char* language_code = kExtraLanguages[i].language_code;
const char* input_method_id = kExtraLanguages[i].input_method_id;
InputMethodIdToDescriptorMap::const_iterator iter =
@@ -358,6 +358,20 @@ bool GetLocalizedString(const std::string& english_string,
} // namespace
+const ExtraLanguage kExtraLanguages[] = {
+ // Language Code Input Method ID
+ { "en-AU", "xkb:us::eng" }, // For Austrailia, use US keyboard layout.
+ { "id", "xkb:us::eng" }, // For Indonesian, use US keyboard layout.
+ // The code "fil" comes from app/l10_util.cc.
+ { "fil", "xkb:us::eng" }, // For Filipino, use US keyboard layout.
+ // For Netherlands, use US international keyboard layout.
+ { "nl", "xkb:us:intl:eng" },
+ // The code "es-419" comes from app/l10_util.cc.
+ // For Spanish in Latin America, use Latin American keyboard layout.
+ { "es-419", "xkb:latam::spa" },
+};
+const size_t kExtraLanguagesLength = arraysize(kExtraLanguages);
+
std::wstring GetString(const std::string& english_string,
const std::string& input_method_id) {
string16 localized_string;
diff --git a/chrome/browser/chromeos/input_method/input_method_util.h b/chrome/browser/chromeos/input_method/input_method_util.h
index 2b13f42..0dd7897 100644
--- a/chrome/browser/chromeos/input_method/input_method_util.h
+++ b/chrome/browser/chromeos/input_method/input_method_util.h
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_UTIL_H_
#pragma once
+#include <cstddef>
#include <map>
#include <string>
#include <vector>
@@ -18,21 +19,12 @@ namespace input_method {
// The list of language that do not have associated input methods in IBus.
// For these languages, we associate input methods here.
-const struct ExtraLanguage {
+struct ExtraLanguage {
const char* language_code;
const char* input_method_id;
-} kExtraLanguages[] = {
- { "en-AU", "xkb:us::eng" }, // For Austrailia, use US keyboard layout.
- { "id", "xkb:us::eng" }, // For Indonesian, use US keyboard layout.
- // The code "fil" comes from app/l10_util.cc.
- { "fil", "xkb:us::eng" }, // For Filipino, use US keyboard layout.
- // For Netherlands, use US international keyboard layout.
- { "nl", "xkb:us:intl:eng" },
- // The code "es-419" comes from app/l10_util.cc.
- // For Spanish in Latin America, use Latin American keyboard layout.
- { "es-419", "xkb:latam::spa" },
};
-// TODO(yusukes): Move |kExtraLanguages| to input_method_util.cc.
+extern const ExtraLanguage kExtraLanguages[];
+extern const size_t kExtraLanguagesLength;
// Converts a string sent from IBus IME engines, which is written in English,
// into Chrome's string ID, then pulls internationalized resource string from
diff --git a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
index ea5c9b9..69e1fec 100644
--- a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
@@ -101,8 +101,7 @@ ListValue* CrosLanguageOptionsHandler::GetInputMethodList(
language_codes->SetBoolean(language_code, true);
// Check kExtraLanguages to see if there are languages associated with
// this input method. If these are present, add these.
- for (size_t j = 0; j < arraysize(input_method::kExtraLanguages);
- ++j) {
+ for (size_t j = 0; j < input_method::kExtraLanguagesLength; ++j) {
const std::string extra_input_method_id =
input_method::kExtraLanguages[j].input_method_id;
const std::string extra_language_code =
@@ -130,8 +129,7 @@ ListValue* CrosLanguageOptionsHandler::GetLanguageList(
language_codes.insert(language_code);
}
// Collect the language codes from kExtraLanguages.
- for (size_t i = 0; i < arraysize(input_method::kExtraLanguages);
- ++i) {
+ for (size_t i = 0; i < input_method::kExtraLanguagesLength; ++i) {
const char* language_code =
input_method::kExtraLanguages[i].language_code;
language_codes.insert(language_code);