summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-01 09:16:28 +0000
committerkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-01 09:16:28 +0000
commit79b01b18dadc7541ff326de24a2f6be5a39b239d (patch)
tree1711a602156e6129af22cad21694d2bac52d078c
parentfc0e5e674aa0aa222eda2f4c56241537889c97ab (diff)
downloadchromium_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.h4
-rw-r--r--chrome/browser/chromeos/login/screen_lock_view.cc1
-rw-r--r--chrome/browser/chromeos/login/screen_locker.cc5
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();
}
}