Index: ui/keyboard/keyboard_controller.cc |
diff --git a/ui/keyboard/keyboard_controller.cc b/ui/keyboard/keyboard_controller.cc |
index 042c786a210bfe79a9e37a4c452bba2e878389ff..9b0b3d1d998cac105a517d8f476204808f3554b8 100644 |
--- a/ui/keyboard/keyboard_controller.cc |
+++ b/ui/keyboard/keyboard_controller.cc |
@@ -279,8 +279,14 @@ void KeyboardController::OnTextInputStateChanged( |
keyboard::LogKeyboardControlEvent(keyboard::KEYBOARD_CONTROL_SHOW); |
weak_factory_.InvalidateWeakPtrs(); |
- if (container_->IsVisible()) |
+ // If |container_| has hide animation, its visibility is set to false when |
+ // hide animation finished. So even if the container is visible at this |
+ // point, it may in the process of hiding. We still need to show keyboard |
+ // container in this case. |
+ if (container_->IsVisible() && |
+ !container_->layer()->GetAnimator()->is_animating()) { |
return; |
+ } |
NotifyKeyboardBoundsChanging(container_->children()[0]->bounds()); |