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

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

Issue 2323823004: Add action for each button on opt-in IME menu. (Closed)
Patch Set: Created 4 years, 3 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_manager_impl.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
index 834bb1e9c63b4a72bf17aeae2f70317a3a6ab22b..ac663850dd692be897929307796da34e5b1e01cb 100644
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
@@ -12,6 +12,7 @@
#include <sstream>
#include <utility>
+#include "ash/shell.h"
#include "base/bind.h"
#include "base/hash.h"
#include "base/location.h"
@@ -1213,5 +1214,37 @@ void InputMethodManagerImpl::MaybeNotifyImeMenuActivationChanged() {
is_ime_menu_activated_);
}
+void InputMethodManagerImpl::ShowInputViewWithUrl(
Shu Chen 2016/09/11 08:33:25 Is there any reason why this interface/implement i
Azure Wei 2016/09/12 13:12:57 If 'on-screen keyboard' hasn't been enabled, we ne
+ const std::string& appended_url) {
+ GURL current_url = keyboard::GetOverrideContentUrl();
+ GURL input_view_url =
+ GetActiveIMEState()->GetCurrentInputMethod().input_view_url();
+ if (current_url != input_view_url)
+ return;
+ GURL overriden_url = GURL(current_url.spec() + appended_url);
+ keyboard::SetOverrideContentUrl(overriden_url);
+
+ keyboard::KeyboardController* keyboard_controller =
+ keyboard::KeyboardController::GetInstance();
+ if (keyboard_controller) {
+ keyboard_controller->ShowKeyboard(false);
+ return;
+ }
+
+ if (keyboard::IsKeyboardEnabled())
+ return;
+
+ // Forcibly enables the a11y onscreen keyboard if there is on keyboard enabled
+ // for now. And re-disables it after showing once.
+ keyboard::SetAccessibilityKeyboardEnabled(true);
+ ash::Shell::GetInstance()->CreateKeyboard();
+ keyboard_controller = keyboard::KeyboardController::GetInstance();
+ if (!keyboard_controller) {
+ keyboard::SetAccessibilityKeyboardEnabled(false);
+ }
+ keyboard_controller->ShowKeyboard(false);
+ keyboard::SetAccessibilityKeyboardEnabled(false);
+}
+
} // namespace input_method
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698