| Index: chrome/browser/chromeos/cros/input_method_library.cc
|
| diff --git a/chrome/browser/chromeos/cros/input_method_library.cc b/chrome/browser/chromeos/cros/input_method_library.cc
|
| index 9b5316f1da56f338474c57627fef23ab16421d1f..92af3c2aeb10fe03b09ea5e9594c0786c1992602 100644
|
| --- a/chrome/browser/chromeos/cros/input_method_library.cc
|
| +++ b/chrome/browser/chromeos/cros/input_method_library.cc
|
| @@ -182,6 +182,13 @@ class InputMethodLibraryImpl : public InputMethodLibrary,
|
| return current_ime_properties_;
|
| }
|
|
|
| + virtual std::string GetKeyboardOverlayId(const std::string& input_method_id) {
|
| + if (EnsureLoadedAndStarted()) {
|
| + return chromeos::GetKeyboardOverlayId(input_method_id);
|
| + }
|
| + return "";
|
| + }
|
| +
|
| private:
|
| // Starts or stops the input method processes based on the current state.
|
| void MaybeStartOrStopInputMethodProcesses(
|
| @@ -608,7 +615,9 @@ class InputMethodLibraryStubImpl : public InputMethodLibrary {
|
| public:
|
| InputMethodLibraryStubImpl()
|
| : previous_input_method_("", "", "", ""),
|
| - current_input_method_("", "", "", "") {
|
| + current_input_method_("", "", "", ""),
|
| + keyboard_overlay_map_(
|
| + CreateRealisticKeyboardOverlayMap()) {
|
| }
|
|
|
| ~InputMethodLibraryStubImpl() {}
|
| @@ -666,7 +675,16 @@ class InputMethodLibraryStubImpl : public InputMethodLibrary {
|
| virtual void SetDeferImeStartup(bool defer) {}
|
| virtual void SetEnableAutoImeShutdown(bool enable) {}
|
|
|
| + virtual std::string GetKeyboardOverlayId(const std::string& input_method_id) {
|
| + KeyboardOverlayMap::const_iterator iter =
|
| + keyboard_overlay_map_->find(input_method_id);
|
| + return (iter != keyboard_overlay_map_->end()) ?
|
| + iter->second : "";
|
| + }
|
| +
|
| private:
|
| + typedef std::map<std::string, std::string> KeyboardOverlayMap;
|
| +
|
| // Creates realistic input method descriptors that can be used for
|
| // testing Chrome OS version of chrome on regular Linux desktops.
|
| InputMethodDescriptors* CreateRealisticInputMethodDescriptors() {
|
| @@ -795,9 +813,83 @@ class InputMethodLibraryStubImpl : public InputMethodLibrary {
|
| return descriptions;
|
| }
|
|
|
| + std::map<std::string, std::string>* CreateRealisticKeyboardOverlayMap() {
|
| + KeyboardOverlayMap* keyboard_overlay_map =
|
| + new KeyboardOverlayMap;
|
| + (*keyboard_overlay_map)["xkb:nl::nld"] = "nl";
|
| + (*keyboard_overlay_map)["xkb:be::nld"] = "nl";
|
| + (*keyboard_overlay_map)["xkb:fr::fra"] = "fr";
|
| + (*keyboard_overlay_map)["xkb:be::fra"] = "fr";
|
| + (*keyboard_overlay_map)["xkb:ca::fra"] = "fr_CA";
|
| + (*keyboard_overlay_map)["xkb:ch:fr:fra"] = "fr";
|
| + (*keyboard_overlay_map)["xkb:de::ger"] = "de";
|
| + (*keyboard_overlay_map)["xkb:be::ger"] = "de";
|
| + (*keyboard_overlay_map)["xkb:ch::ger"] = "de";
|
| + (*keyboard_overlay_map)["mozc"] = "en_US";
|
| + (*keyboard_overlay_map)["mozc-jp"] = "ja";
|
| + (*keyboard_overlay_map)["mozc-dv"] = "en_US_dvorak";
|
| + (*keyboard_overlay_map)["xkb:jp::jpn"] = "ja";
|
| + (*keyboard_overlay_map)["xkb:ru::rus"] = "ru";
|
| + (*keyboard_overlay_map)["xkb:ru:phonetic:rus"] = "ru";
|
| + (*keyboard_overlay_map)["m17n:th:kesmanee"] = "th";
|
| + (*keyboard_overlay_map)["m17n:th:pattachote"] = "th";
|
| + (*keyboard_overlay_map)["m17n:th:tis820"] = "th";
|
| + (*keyboard_overlay_map)["chewing"] = "zh_TW";
|
| + (*keyboard_overlay_map)["m17n:zh:cangjie"] = "zh_TW";
|
| + (*keyboard_overlay_map)["m17n:zh:quick"] = "zh_TW";
|
| + (*keyboard_overlay_map)["m17n:vi:tcvn"] = "vi";
|
| + (*keyboard_overlay_map)["m17n:vi:telex"] = "vi";
|
| + (*keyboard_overlay_map)["m17n:vi:viqr"] = "vi";
|
| + (*keyboard_overlay_map)["m17n:vi:vni"] = "vi";
|
| + (*keyboard_overlay_map)["xkb:us::eng"] = "en_US";
|
| + (*keyboard_overlay_map)["xkb:us:intl:eng"] = "en_US";
|
| + (*keyboard_overlay_map)["xkb:us:altgr-intl:eng"] = "en_US";
|
| + (*keyboard_overlay_map)["xkb:us:dvorak:eng"] =
|
| + "en_US_dvorak";
|
| + (*keyboard_overlay_map)["xkb:us:colemak:eng"] =
|
| + "en_US";
|
| + (*keyboard_overlay_map)["hangul"] = "ko";
|
| + (*keyboard_overlay_map)["pinyin"] = "zh_CN";
|
| + (*keyboard_overlay_map)["m17n:ar:kbd"] = "ar";
|
| + (*keyboard_overlay_map)["m17n:hi:itrans"] = "hi";
|
| + (*keyboard_overlay_map)["m17n:fa:isiri"] = "ar";
|
| + (*keyboard_overlay_map)["xkb:br::por"] = "pt_BR";
|
| + (*keyboard_overlay_map)["xkb:bg::bul"] = "bg";
|
| + (*keyboard_overlay_map)["xkb:bg:phonetic:bul"] = "bg";
|
| + (*keyboard_overlay_map)["xkb:ca:eng:eng"] = "ca";
|
| + (*keyboard_overlay_map)["xkb:cz::cze"] = "cs";
|
| + (*keyboard_overlay_map)["xkb:ee::est"] = "et";
|
| + (*keyboard_overlay_map)["xkb:es::spa"] = "es";
|
| + (*keyboard_overlay_map)["xkb:es:cat:cat"] = "ca";
|
| + (*keyboard_overlay_map)["xkb:dk::dan"] = "da";
|
| + (*keyboard_overlay_map)["xkb:gr::gre"] = "el";
|
| + (*keyboard_overlay_map)["xkb:il::heb"] = "iw";
|
| + (*keyboard_overlay_map)["xkb:kr:kr104:kor"] = "ko";
|
| + (*keyboard_overlay_map)["xkb:latam::spa"] = "es_419";
|
| + (*keyboard_overlay_map)["xkb:lt::lit"] = "lt";
|
| + (*keyboard_overlay_map)["xkb:lv:apostrophe:lav"] = "lv";
|
| + (*keyboard_overlay_map)["xkb:hr::scr"] = "hr";
|
| + (*keyboard_overlay_map)["xkb:gb:extd:eng"] = "en_GB";
|
| + (*keyboard_overlay_map)["xkb:fi::fin"] = "fi";
|
| + (*keyboard_overlay_map)["xkb:hu::hun"] = "hu";
|
| + (*keyboard_overlay_map)["xkb:it::ita"] = "it";
|
| + (*keyboard_overlay_map)["xkb:no::nob"] = "no";
|
| + (*keyboard_overlay_map)["xkb:pl::pol"] = "pl";
|
| + (*keyboard_overlay_map)["xkb:pt::por"] = "pt_PT";
|
| + (*keyboard_overlay_map)["xkb:ro::rum"] = "ro";
|
| + (*keyboard_overlay_map)["xkb:se::swe"] = "sv";
|
| + (*keyboard_overlay_map)["xkb:sk::slo"] = "sk";
|
| + (*keyboard_overlay_map)["xkb:si::slv"] = "sl";
|
| + (*keyboard_overlay_map)["xkb:rs::srp"] = "sr";
|
| + (*keyboard_overlay_map)["xkb:tr::tur"] = "tr";
|
| + (*keyboard_overlay_map)["xkb:ua::ukr"] = "uk";
|
| + return keyboard_overlay_map;
|
| + }
|
| +
|
| InputMethodDescriptor previous_input_method_;
|
| InputMethodDescriptor current_input_method_;
|
| ImePropertyList current_ime_properties_;
|
| + scoped_ptr<KeyboardOverlayMap> keyboard_overlay_map_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(InputMethodLibraryStubImpl);
|
| };
|
|
|