summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/input_method/ibus_controller.cc21
-rw-r--r--chrome/browser/chromeos/input_method/ibus_controller.h6
2 files changed, 21 insertions, 6 deletions
diff --git a/chrome/browser/chromeos/input_method/ibus_controller.cc b/chrome/browser/chromeos/input_method/ibus_controller.cc
index 354f1c7..a613e7d 100644
--- a/chrome/browser/chromeos/input_method/ibus_controller.cc
+++ b/chrome/browser/chromeos/input_method/ibus_controller.cc
@@ -101,15 +101,24 @@ InputMethodDescriptor::InputMethodDescriptor() {
InputMethodDescriptor::~InputMethodDescriptor() {
}
+InputMethodDescriptor::InputMethodDescriptor(
+ const std::string& in_id,
+ const std::string& in_keyboard_layout,
+ const std::string& in_virtual_keyboard_layouts,
+ const std::string& in_language_code)
+ : id_(in_id),
+ keyboard_layout_(in_keyboard_layout),
+ language_code_(in_language_code) {
+ DCHECK(keyboard_layout_.find(",") == std::string::npos);
+ base::SplitString(
+ in_virtual_keyboard_layouts, ',', &virtual_keyboard_layouts_);
+}
+
// static
InputMethodDescriptor
InputMethodDescriptor::GetFallbackInputMethodDescriptor() {
- InputMethodDescriptor desc;
- desc.id_ = "xkb:us::eng";
- desc.keyboard_layout_ = kFallbackLayout;
- desc.virtual_keyboard_layouts_.push_back(kFallbackLayout);
- desc.language_code_ = "eng";
- return desc;
+ return InputMethodDescriptor(
+ "xkb:us::eng", kFallbackLayout, kFallbackLayout, "eng");
}
std::string InputMethodDescriptor::ToString() const {
diff --git a/chrome/browser/chromeos/input_method/ibus_controller.h b/chrome/browser/chromeos/input_method/ibus_controller.h
index 9cfe2e1..7a76af1 100644
--- a/chrome/browser/chromeos/input_method/ibus_controller.h
+++ b/chrome/browser/chromeos/input_method/ibus_controller.h
@@ -50,6 +50,12 @@ class InputMethodDescriptor {
static InputMethodDescriptor GetFallbackInputMethodDescriptor();
private:
+ // For GetFallbackInputMethodDescriptor(). Use the public constructor instead.
+ InputMethodDescriptor(const std::string& in_id,
+ const std::string& in_keyboard_layout,
+ const std::string& in_virtual_keyboard_layouts,
+ const std::string& in_language_code);
+
// An ID that identifies an input method engine (e.g., "t:latn-post",
// "pinyin", "hangul").
std::string id_;