diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-17 20:51:30 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-17 20:51:30 +0000 |
commit | e9125d2d9dc3b8c99df4bcc0ce5e10c98f6fca51 (patch) | |
tree | 79dcbe941d311b2217148a6e6ecfd1d13b544d05 /chrome | |
parent | e4cc6eb80a8359cba5c9f150ac13800b8fc75d36 (diff) | |
download | chromium_src-e9125d2d9dc3b8c99df4bcc0ce5e10c98f6fca51.zip chromium_src-e9125d2d9dc3b8c99df4bcc0ce5e10c98f6fca51.tar.gz chromium_src-e9125d2d9dc3b8c99df4bcc0ce5e10c98f6fca51.tar.bz2 |
Correctly remove accelerator when info bubble is closed.
accelerator was not removed when it's closed by escape accelerator. This was causing crash in screen locker.
Use "Resume" text for unlock button.
Removed unnecessary TextButton dependency in screen_lock_view.h
BUG=none
TEST=lock screen using ctrl-alt-l, type wrong password and enter then hit escape twice.
It will not crash.
Review URL: http://codereview.chromium.org/2872004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50136 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/app/generated_resources.grd | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/screen_lock_view.cc | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/screen_lock_view.h | 4 | ||||
-rw-r--r-- | chrome/browser/views/info_bubble.cc | 5 |
4 files changed, 9 insertions, 7 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 5f10677..f92cf70 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -7522,6 +7522,9 @@ Keep your key file in a safe place. You will need it to create new versions of y <message name="IDS_SCREEN_LOCK_SIGN_OUT"> Sign out </message> + <message name="IDS_UNLOCK_BUTTON"> + Resume + </message> <message name="IDS_CREATE_ACCOUNT_BUTTON"> Create a Google Account now </message> diff --git a/chrome/browser/chromeos/login/screen_lock_view.cc b/chrome/browser/chromeos/login/screen_lock_view.cc index aacd161..3c879d7 100644 --- a/chrome/browser/chromeos/login/screen_lock_view.cc +++ b/chrome/browser/chromeos/login/screen_lock_view.cc @@ -16,6 +16,7 @@ #include "grit/theme_resources.h" #include "views/background.h" #include "views/border.h" +#include "views/controls/button/text_button.h" #include "views/controls/image_view.h" #include "views/controls/label.h" #include "views/grid_layout.h" @@ -50,9 +51,8 @@ void ScreenLockView::Init() { password_field_->SetController(this); // Unlock button. - // TODO(sky|oshima): change ids unlock_button_ = new views::TextButton( - this, l10n_util::GetString(IDS_LOGIN_BUTTON)); + this, l10n_util::GetString(IDS_UNLOCK_BUTTON)); unlock_button_->set_tag(login::UNLOCK); // User icon. diff --git a/chrome/browser/chromeos/login/screen_lock_view.h b/chrome/browser/chromeos/login/screen_lock_view.h index ae315bf..61b5ec0 100644 --- a/chrome/browser/chromeos/login/screen_lock_view.h +++ b/chrome/browser/chromeos/login/screen_lock_view.h @@ -7,7 +7,7 @@ #include "chrome/common/notification_observer.h" #include "chrome/common/notification_registrar.h" -#include "views/controls/button/text_button.h" +#include "views/controls/button/button.h" #include "views/controls/textfield/textfield.h" #include "views/view.h" @@ -69,7 +69,7 @@ class ScreenLockView : public views::View, // For editing the password. views::Textfield* password_field_; - views::TextButton* unlock_button_; + views::Button* unlock_button_; // ScreenLocker is owned by itself. ScreenLocker* screen_locker_; diff --git a/chrome/browser/views/info_bubble.cc b/chrome/browser/views/info_bubble.cc index 5827521..11ba19b 100644 --- a/chrome/browser/views/info_bubble.cc +++ b/chrome/browser/views/info_bubble.cc @@ -254,9 +254,6 @@ void InfoBubble::Close() { show_status_ = kClosing; - GetFocusManager()->UnregisterAccelerator( - views::Accelerator(base::VKEY_ESCAPE, false, false, false), this); - if (fade_away_on_close_) FadeOut(); else @@ -478,6 +475,8 @@ void InfoBubble::DoClose(bool closed_by_escape) { if (show_status_ == kClosed) return; + GetFocusManager()->UnregisterAccelerator( + views::Accelerator(base::VKEY_ESCAPE, false, false, false), this); if (delegate_) delegate_->InfoBubbleClosing(this, closed_by_escape); show_status_ = kClosed; |