Index: chrome/browser/ui/ash/ime_controller_chromeos.cc |
diff --git a/chrome/browser/ui/ash/ime_controller_chromeos.cc b/chrome/browser/ui/ash/ime_controller_chromeos.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d252e36820c0085a924a10cfd8372653fd391176 |
--- /dev/null |
+++ b/chrome/browser/ui/ash/ime_controller_chromeos.cc |
@@ -0,0 +1,50 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/ui/ash/ime_controller_chromeos.h" |
+ |
+#include "ui/base/accelerators/accelerator.h" |
+#include "ui/base/ime/chromeos/input_method_manager.h" |
+ |
+bool ImeController::CanCycleIme() { |
+ chromeos::input_method::InputMethodManager* manager = |
+ chromeos::input_method::InputMethodManager::Get(); |
+ DCHECK(manager); |
+ if (!manager->GetActiveIMEState()) { |
+ LOG(WARNING) << "Cannot cycle through input methods as they are not " |
+ "initialized yet."; |
+ return false; |
+ } |
+ return manager->GetActiveIMEState()->CanCycleInputMethod(); |
+} |
+ |
+void ImeController::HandleNextIme() { |
+ chromeos::input_method::InputMethodManager* manager = |
+ chromeos::input_method::InputMethodManager::Get(); |
+ manager->GetActiveIMEState()->SwitchToNextInputMethod(); |
+} |
+ |
+void ImeController::HandlePreviousIme() { |
+ chromeos::input_method::InputMethodManager* manager = |
+ chromeos::input_method::InputMethodManager::Get(); |
+ manager->GetActiveIMEState()->SwitchToPreviousInputMethod(); |
+} |
+ |
+bool ImeController::CanSwitchIme(const ui::Accelerator& accelerator) { |
+ chromeos::input_method::InputMethodManager* manager = |
+ chromeos::input_method::InputMethodManager::Get(); |
+ DCHECK(manager); |
+ if (!manager->GetActiveIMEState()) { |
+ LOG(WARNING) << "Cannot switch input methods as they are not " |
+ "initialized yet."; |
+ return false; |
+ } |
+ return manager->GetActiveIMEState()->CanSwitchInputMethod(accelerator); |
+} |
+ |
+void ImeController::HandleSwitchIme(const ui::Accelerator& accelerator) { |
+ chromeos::input_method::InputMethodManager* manager = |
+ chromeos::input_method::InputMethodManager::Get(); |
+ manager->GetActiveIMEState()->SwitchInputMethod(accelerator); |
+} |