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

Unified Diff: chrome/browser/chromeos/input_method/input_method_util.cc

Issue 6176007: Revert "Use libcros to convert input method ID to keyboard overlay ID." (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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
Index: chrome/browser/chromeos/input_method/input_method_util.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_util.cc b/chrome/browser/chromeos/input_method/input_method_util.cc
index 28ca1c5eafda9514f1845153a8f07125958f63c1..ced79eaa69859bc8f3f69b908a28de3e21657ba8 100644
--- a/chrome/browser/chromeos/input_method/input_method_util.cc
+++ b/chrome/browser/chromeos/input_method/input_method_util.cc
@@ -109,6 +109,7 @@ struct IdMaps {
scoped_ptr<LanguageCodeToIdsMap> language_code_to_ids;
scoped_ptr<std::map<std::string, std::string> > id_to_language_code;
scoped_ptr<std::map<std::string, std::string> > id_to_display_name;
+ scoped_ptr<std::map<std::string, std::string> > id_to_keyboard_overlay_id;
// Returns the singleton instance.
static IdMaps* GetInstance() {
@@ -128,6 +129,7 @@ struct IdMaps {
language_code_to_ids->clear();
id_to_language_code->clear();
id_to_display_name->clear();
+ id_to_keyboard_overlay_id->clear();
// Build the id to descriptor map for handling kExtraLanguages later.
typedef std::map<std::string,
@@ -145,6 +147,13 @@ struct IdMaps {
std::make_pair(input_method.id, &input_method));
}
+ for (size_t i = 0; i < arraysize(kInputMethodIdToKeyboardOverlayId); ++i) {
+ InputMethodIdToKeyboardOverlayId id_pair =
+ kInputMethodIdToKeyboardOverlayId[i];
+ id_to_keyboard_overlay_id->insert(
+ std::make_pair(id_pair.input_method_id, id_pair.keyboard_overlay_id));
+ }
+
// Go through the languages listed in kExtraLanguages.
using chromeos::input_method::kExtraLanguages;
for (size_t i = 0; i < arraysize(kExtraLanguages); ++i) {
@@ -163,7 +172,8 @@ struct IdMaps {
private:
IdMaps() : language_code_to_ids(new LanguageCodeToIdsMap),
id_to_language_code(new std::map<std::string, std::string>),
- id_to_display_name(new std::map<std::string, std::string>) {
+ id_to_display_name(new std::map<std::string, std::string>),
+ id_to_keyboard_overlay_id(new std::map<std::string, std::string>) {
ReloadMaps();
}
@@ -551,6 +561,14 @@ std::string GetKeyboardLayoutName(const std::string& input_method_id) {
return (splitted_id.size() > 1) ? splitted_id[1] : "";
}
+std::string GetKeyboardOverlayId(const std::string& input_method_id) {
+ const std::map<std::string, std::string>& id_map =
+ *(IdMaps::GetInstance()->id_to_keyboard_overlay_id);
+ std::map<std::string, std::string>::const_iterator iter =
+ id_map.find(input_method_id);
+ return (iter == id_map.end() ? "" : iter->second);
+}
+
std::string GetInputMethodDisplayNameFromId(
const std::string& input_method_id) {
static const char kDefaultDisplayName[] = "USA";

Powered by Google App Engine
This is Rietveld 408576698