summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authoraltimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-24 08:39:36 +0000
committeraltimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-24 08:39:36 +0000
commiteb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6 (patch)
tree90907143afbdb78bc172708c72d5883f7ae95f1f /chrome/browser
parentecaa9a994484961d3868a3c0bf9b5ca46d989719 (diff)
downloadchromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.zip
chromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.tar.gz
chromium_src-eb09ecdb0825f0ef5d96b7cb65abffcbf0a7acd6.tar.bz2
Adds accelerators for BWSI(guest) mode.
BUG=chromium-os:6028 TEST=In login screen press ALT+B, - BWSI session starts. Review URL: http://codereview.chromium.org/3443015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60440 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/chromeos/login/existing_user_view.cc19
-rw-r--r--chrome/browser/chromeos/login/existing_user_view.h11
-rw-r--r--chrome/browser/chromeos/login/new_user_view.cc19
-rw-r--r--chrome/browser/chromeos/login/new_user_view.h3
4 files changed, 38 insertions, 14 deletions
diff --git a/chrome/browser/chromeos/login/existing_user_view.cc b/chrome/browser/chromeos/login/existing_user_view.cc
index 04e69ca..423fdfc 100644
--- a/chrome/browser/chromeos/login/existing_user_view.cc
+++ b/chrome/browser/chromeos/login/existing_user_view.cc
@@ -69,6 +69,15 @@ class UserEntryTextfield : public views::Textfield {
DISALLOW_COPY_AND_ASSIGN(UserEntryTextfield);
};
+ExistingUserView::ExistingUserView(UserController* uc)
+ : accel_login_off_the_record_(
+ views::Accelerator(app::VKEY_B, false, false, true)),
+ password_field_(NULL),
+ submit_button_(NULL),
+ user_controller_(uc) {
+ AddAccelerator(accel_login_off_the_record_);
+}
+
void ExistingUserView::RecreateFields() {
if (password_field_ == NULL) {
password_field_ = new UserEntryTextfield(user_controller_,
@@ -111,4 +120,14 @@ void ExistingUserView::OnLocaleChanged() {
RecreateFields();
}
+
+bool ExistingUserView::AcceleratorPressed(
+ const views::Accelerator& accelerator) {
+ if (accelerator == accel_login_off_the_record_) {
+ user_controller_->OnLoginOffTheRecord();
+ return true;
+ }
+ return false;
+}
+
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/existing_user_view.h b/chrome/browser/chromeos/login/existing_user_view.h
index 5a70e02..a304496 100644
--- a/chrome/browser/chromeos/login/existing_user_view.h
+++ b/chrome/browser/chromeos/login/existing_user_view.h
@@ -16,10 +16,7 @@ class UserController;
class ExistingUserView : public views::View {
public:
- explicit ExistingUserView(UserController* uc)
- : password_field_(NULL),
- submit_button_(NULL),
- user_controller_(uc) {}
+ explicit ExistingUserView(UserController* uc);
void RecreateFields();
@@ -29,10 +26,15 @@ class ExistingUserView : public views::View {
void FocusPasswordField();
+ // views::View
+ virtual bool AcceleratorPressed(const views::Accelerator& accelerator);
+
protected:
// views::View overrides:
virtual void OnLocaleChanged();
+ views::Accelerator accel_login_off_the_record_;
+
// For editing the password.
views::Textfield* password_field_;
@@ -47,4 +49,3 @@ class ExistingUserView : public views::View {
} // chromeos
#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_VIEW_H_
-
diff --git a/chrome/browser/chromeos/login/new_user_view.cc b/chrome/browser/chromeos/login/new_user_view.cc
index cf1f803..3d162093 100644
--- a/chrome/browser/chromeos/login/new_user_view.cc
+++ b/chrome/browser/chromeos/login/new_user_view.cc
@@ -84,8 +84,10 @@ NewUserView::NewUserView(Delegate* delegate,
browse_without_signin_link_(NULL),
languages_menubutton_(NULL),
throbber_(NULL),
- accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)),
accel_focus_pass_(views::Accelerator(app::VKEY_P, false, false, true)),
+ accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)),
+ accel_login_off_the_record_(
+ views::Accelerator(app::VKEY_B, false, false, true)),
delegate_(delegate),
ALLOW_THIS_IN_INITIALIZER_LIST(focus_grabber_factory_(this)),
focus_delayed_(false),
@@ -142,8 +144,10 @@ void NewUserView::Init() {
languages_menubutton_->SetFocusable(true);
AddChildView(languages_menubutton_);
+ // Set up accelerators.
AddAccelerator(accel_focus_user_);
AddAccelerator(accel_focus_pass_);
+ AddAccelerator(accel_login_off_the_record_);
UpdateLocalizedStrings();
RequestFocus();
@@ -159,15 +163,14 @@ void NewUserView::Init() {
bool NewUserView::AcceleratorPressed(const views::Accelerator& accelerator) {
if (accelerator == accel_focus_user_) {
username_field_->RequestFocus();
- return true;
- }
-
- if (accelerator == accel_focus_pass_) {
+ } else if (accelerator == accel_focus_pass_) {
password_field_->RequestFocus();
- return true;
+ } else if (accelerator == accel_login_off_the_record_) {
+ delegate_->OnLoginOffTheRecord();
+ } else {
+ return false;
}
-
- return false;
+ return true;
}
void NewUserView::RecreateNativeControls() {
diff --git a/chrome/browser/chromeos/login/new_user_view.h b/chrome/browser/chromeos/login/new_user_view.h
index 1a841ad..3b6dd60 100644
--- a/chrome/browser/chromeos/login/new_user_view.h
+++ b/chrome/browser/chromeos/login/new_user_view.h
@@ -145,8 +145,9 @@ class NewUserView : public views::View,
views::MenuButton* languages_menubutton_;
views::Throbber* throbber_;
- views::Accelerator accel_focus_user_;
views::Accelerator accel_focus_pass_;
+ views::Accelerator accel_focus_user_;
+ views::Accelerator accel_login_off_the_record_;
// Notifications receiver.
Delegate* delegate_;