diff options
author | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-01 09:16:28 +0000 |
---|---|---|
committer | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-01 09:16:28 +0000 |
commit | 79b01b18dadc7541ff326de24a2f6be5a39b239d (patch) | |
tree | 1711a602156e6129af22cad21694d2bac52d078c | |
parent | fc0e5e674aa0aa222eda2f4c56241537889c97ab (diff) | |
download | chromium_src-79b01b18dadc7541ff326de24a2f6be5a39b239d.zip chromium_src-79b01b18dadc7541ff326de24a2f6be5a39b239d.tar.gz chromium_src-79b01b18dadc7541ff326de24a2f6be5a39b239d.tar.bz2 |
Correct sizing of the screenlock dialog of ChromeOS with screensavers.
BUG=chromium-os:15213
TEST=Boot chromeos-chrome with screensaver enabled, and lock the screen.
Verify that the edge of the password field is correctly drawn.
Review URL: http://codereview.chromium.org/7273021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91279 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/login/background_view.h | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/screen_lock_view.cc | 1 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/screen_locker.cc | 5 |
3 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/chromeos/login/background_view.h b/chrome/browser/chromeos/login/background_view.h index 4fa4d97..193ded2 100644 --- a/chrome/browser/chromeos/login/background_view.h +++ b/chrome/browser/chromeos/login/background_view.h @@ -101,9 +101,11 @@ class BackgroundView : public views::View, // Tells if screen saver is enabled. bool ScreenSaverEnabled(); - protected: // Overridden from views::View: virtual void Layout() OVERRIDE; + + protected: + // Overridden from views::View: virtual void ChildPreferredSizeChanged(View* child) OVERRIDE; virtual void OnLocaleChanged() OVERRIDE; diff --git a/chrome/browser/chromeos/login/screen_lock_view.cc b/chrome/browser/chromeos/login/screen_lock_view.cc index 2acc316..8ffd17e 100644 --- a/chrome/browser/chromeos/login/screen_lock_view.cc +++ b/chrome/browser/chromeos/login/screen_lock_view.cc @@ -208,7 +208,6 @@ gfx::Rect ScreenLockView::GetPasswordBoundsRelativeTo(const views::View* view) { return gfx::Rect(p, size()); } - void ScreenLockView::SetEnabled(bool enabled) { views::View::SetEnabled(enabled); diff --git a/chrome/browser/chromeos/login/screen_locker.cc b/chrome/browser/chromeos/login/screen_locker.cc index 15c7d09..ef595af 100644 --- a/chrome/browser/chromeos/login/screen_locker.cc +++ b/chrome/browser/chromeos/login/screen_locker.cc @@ -1193,11 +1193,14 @@ void ScreenLocker::ShowErrorBubble(const std::wstring& message, void ScreenLocker::StopScreenSaver() { if (background_view_->IsScreenSaverVisible()) { VLOG(1) << "StopScreenSaver"; - background_view_->HideScreenSaver(); if (screen_lock_view_) { screen_lock_view_->SetVisible(true); + // Place the screen_lock_view_ to the center of the screen. + // Must be called when the view is visible: crosbug.com/15213. + background_view_->Layout(); screen_lock_view_->RequestFocus(); } + background_view_->HideScreenSaver(); EnableInput(); } } |