Index: ui/keyboard/keyboard_controller.cc |
diff --git a/ui/keyboard/keyboard_controller.cc b/ui/keyboard/keyboard_controller.cc |
index 6648a7883f6a72b07daed136211e3255fc6b4557..eafd5f817951ab33ef1a472c9cc5797172fa6819 100644 |
--- a/ui/keyboard/keyboard_controller.cc |
+++ b/ui/keyboard/keyboard_controller.cc |
@@ -251,8 +251,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()); |