summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorbryeung@google.com <bryeung@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-17 03:00:59 +0000
committerbryeung@google.com <bryeung@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-17 03:00:59 +0000
commita5c9e03360604459cebcaaab6401c19ae245c8a3 (patch)
tree4f3a2d9a7eec2417f2e9de54be9cf98985da3a05 /chrome/browser
parent337b869c949b08258c6baee6127303793843e8d6 (diff)
downloadchromium_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.cc14
-rw-r--r--chrome/browser/ui/touch/frame/touch_browser_frame_view.h3
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;