| Index: ui/keyboard/keyboard_controller.cc
|
| diff --git a/ui/keyboard/keyboard_controller.cc b/ui/keyboard/keyboard_controller.cc
|
| index 34d5a68310f526f2313b1caaed8758b1c716ad7f..2bb91e4b6325040e91c1902b1fe217dda88a9189 100644
|
| --- a/ui/keyboard/keyboard_controller.cc
|
| +++ b/ui/keyboard/keyboard_controller.cc
|
| @@ -245,6 +245,7 @@ KeyboardController::KeyboardController(KeyboardControllerProxy* proxy)
|
| weak_factory_(this) {
|
| CHECK(proxy);
|
| input_method_ = proxy_->GetInputMethod();
|
| + input_method_->SetSupportsOnScreenKeyboard(true);
|
| input_method_->AddObserver(this);
|
| window_bounds_observer_.reset(new WindowBoundsChangeObserver());
|
| }
|
| @@ -252,8 +253,10 @@ KeyboardController::KeyboardController(KeyboardControllerProxy* proxy)
|
| KeyboardController::~KeyboardController() {
|
| if (container_)
|
| container_->RemoveObserver(this);
|
| - if (input_method_)
|
| + if (input_method_) {
|
| input_method_->RemoveObserver(this);
|
| + input_method_->SetSupportsOnScreenKeyboard(false);
|
| + }
|
| ResetWindowInsets();
|
| }
|
|
|
| @@ -432,6 +435,8 @@ void KeyboardController::OnShowImeIfNeeded() {
|
| ShowKeyboardInternal();
|
| }
|
|
|
| +void KeyboardController::OnKeyboardBoundsUnchanged() {}
|
| +
|
| bool KeyboardController::ShouldEnableInsets(aura::Window* window) {
|
| aura::Window *keyboard_window = proxy_->GetKeyboardWindow();
|
| return (keyboard_window->GetRootWindow() == window->GetRootWindow() &&
|
| @@ -478,6 +483,7 @@ void KeyboardController::ShowKeyboardInternal() {
|
| proxy_->ReloadKeyboardIfNeeded();
|
|
|
| if (keyboard_visible_) {
|
| + proxy_->GetInputMethod()->NotifyKeyboardBoundsUnchanged();
|
| return;
|
| } else if (proxy_->GetKeyboardWindow()->bounds().height() == 0) {
|
| show_on_resize_ = true;
|
|
|