diff options
| author | bryeung@google.com <bryeung@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-17 03:00:59 +0000 |
|---|---|---|
| committer | bryeung@google.com <bryeung@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-17 03:00:59 +0000 |
| commit | a5c9e03360604459cebcaaab6401c19ae245c8a3 (patch) | |
| tree | 4f3a2d9a7eec2417f2e9de54be9cf98985da3a05 /chrome/browser | |
| parent | 337b869c949b08258c6baee6127303793843e8d6 (diff) | |
| download | chromium_src-a5c9e03360604459cebcaaab6401c19ae245c8a3.zip chromium_src-a5c9e03360604459cebcaaab6401c19ae245c8a3.tar.gz chromium_src-a5c9e03360604459cebcaaab6401c19ae245c8a3.tar.bz2 | |
Fix layout of the virtual keyboard.
Because OpaqueBrowserFrameView overrides Layout and does not layout it's
children we have to explicitly layout the keyboard.
BUG=none
TEST=keyboard now shows properly even immediately after startup
Review URL: http://codereview.chromium.org/5847004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69505 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
| -rw-r--r-- | chrome/browser/ui/touch/frame/touch_browser_frame_view.cc | 14 | ||||
| -rw-r--r-- | chrome/browser/ui/touch/frame/touch_browser_frame_view.h | 3 |
2 files changed, 14 insertions, 3 deletions
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 d3c960e..39ae523 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(); diff --git a/chrome/browser/ui/touch/frame/touch_browser_frame_view.h b/chrome/browser/ui/touch/frame/touch_browser_frame_view.h index fc4a11f6..7fb5703 100644 --- a/chrome/browser/ui/touch/frame/touch_browser_frame_view.h +++ b/chrome/browser/ui/touch/frame/touch_browser_frame_view.h @@ -23,6 +23,9 @@ class TouchBrowserFrameView : public OpaqueBrowserFrameView, TouchBrowserFrameView(BrowserFrame* frame, BrowserView* browser_view); virtual ~TouchBrowserFrameView(); + // Overridden from OpaqueBrowserFrameView + virtual void Layout(); + protected: // Overridden from OpaqueBrowserFrameView virtual int GetReservedHeight() const; |
