summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-17 20:51:30 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-17 20:51:30 +0000
commite9125d2d9dc3b8c99df4bcc0ce5e10c98f6fca51 (patch)
tree79dcbe941d311b2217148a6e6ecfd1d13b544d05 /chrome
parente4cc6eb80a8359cba5c9f150ac13800b8fc75d36 (diff)
downloadchromium_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.grd3
-rw-r--r--chrome/browser/chromeos/login/screen_lock_view.cc4
-rw-r--r--chrome/browser/chromeos/login/screen_lock_view.h4
-rw-r--r--chrome/browser/views/info_bubble.cc5
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;