| Index: ui/keyboard/keyboard_controller.cc
|
| diff --git a/ui/keyboard/keyboard_controller.cc b/ui/keyboard/keyboard_controller.cc
|
| index e3fd61650b45f99b1ef9b172116f952d9b04d3bd..1b76cb61721a97321ae2a18ecc49041dc46c8dde 100644
|
| --- a/ui/keyboard/keyboard_controller.cc
|
| +++ b/ui/keyboard/keyboard_controller.cc
|
| @@ -148,6 +148,16 @@ aura::Window* KeyboardController::GetContainerWindow() {
|
| return container_;
|
| }
|
|
|
| +void KeyboardController::HideKeyboard() {
|
| + keyboard_visible_ = false;
|
| +
|
| + FOR_EACH_OBSERVER(KeyboardControllerObserver,
|
| + observer_list_,
|
| + OnKeyboardBoundsChanging(gfx::Rect()));
|
| +
|
| + proxy_->HideKeyboardContainer(container_);
|
| +}
|
| +
|
| void KeyboardController::AddObserver(KeyboardControllerObserver* observer) {
|
| observer_list_.AddObserver(observer);
|
| }
|
| @@ -203,6 +213,8 @@ void KeyboardController::OnTextInputStateChanged(
|
| OnKeyboardBoundsChanging(container_->children()[0]->bounds()));
|
| proxy_->ShowKeyboardContainer(container_);
|
| } else {
|
| + // Set the visibility state here so that any queries for visibility
|
| + // before the timer fires returns the correct future value.
|
| keyboard_visible_ = false;
|
| base::MessageLoop::current()->PostDelayedTask(
|
| FROM_HERE,
|
| @@ -222,13 +234,6 @@ void KeyboardController::OnInputMethodDestroyed(
|
| input_method_ = NULL;
|
| }
|
|
|
| -void KeyboardController::HideKeyboard() {
|
| - FOR_EACH_OBSERVER(KeyboardControllerObserver,
|
| - observer_list_,
|
| - OnKeyboardBoundsChanging(gfx::Rect()));
|
| - proxy_->HideKeyboardContainer(container_);
|
| -}
|
| -
|
| bool KeyboardController::WillHideKeyboard() const {
|
| return weak_factory_.HasWeakPtrs();
|
| }
|
|
|