Index: chrome/browser/ui/touch/frame/touch_browser_frame_view.cc |
diff --git a/chrome/browser/ui/touch/frame/touch_browser_frame_view.cc b/chrome/browser/ui/touch/frame/touch_browser_frame_view.cc |
index d3c960ee48a3c3f2e796aae03c4f110ebf762c7a..39ae5237ef268278aa778e84696da286f8143b2c 100644 |
--- a/chrome/browser/ui/touch/frame/touch_browser_frame_view.cc |
+++ b/chrome/browser/ui/touch/frame/touch_browser_frame_view.cc |
@@ -43,6 +43,17 @@ TouchBrowserFrameView::TouchBrowserFrameView(BrowserFrame* frame, |
TouchBrowserFrameView::~TouchBrowserFrameView() { |
} |
+void TouchBrowserFrameView::Layout() { |
+ OpaqueBrowserFrameView::Layout(); |
+ |
+ if (!keyboard_) |
+ return; |
+ |
+ keyboard_->SetBounds(GetBoundsForReservedArea()); |
+ keyboard_->SetVisible(keyboard_showing_); |
+ keyboard_->Layout(); |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
// TouchBrowserFrameView, protected: |
int TouchBrowserFrameView::GetReservedHeight() const { |
@@ -84,9 +95,6 @@ void TouchBrowserFrameView::UpdateKeyboardAndLayout(bool should_show_keyboard) { |
keyboard_showing_ = should_show_keyboard; |
- keyboard_->SetBounds(GetBoundsForReservedArea()); |
- keyboard_->SetVisible(should_show_keyboard); |
- |
// Because the NonClientFrameView is a sibling of the ClientView, we rely on |
// the parent to resize the ClientView instead of resizing it directly. |
GetParent()->Layout(); |