Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: chrome/browser/chromeos/login/new_user_view.cc

Issue 3442011: Enabling access notifications for login wizard (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/new_user_view.h" 5 #include "chrome/browser/chromeos/login/new_user_view.h"
6 6
7 #include <signal.h> 7 #include <signal.h>
8 #include <sys/types.h> 8 #include <sys/types.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
11 #include <vector> 11 #include <vector>
12 12
13 #include "app/keyboard_codes.h" 13 #include "app/keyboard_codes.h"
14 #include "app/l10n_util.h" 14 #include "app/l10n_util.h"
15 #include "app/resource_bundle.h" 15 #include "app/resource_bundle.h"
16 #include "base/callback.h" 16 #include "base/callback.h"
17 #include "base/command_line.h" 17 #include "base/command_line.h"
18 #include "base/logging.h" 18 #include "base/logging.h"
19 #include "base/message_loop.h" 19 #include "base/message_loop.h"
20 #include "base/process_util.h" 20 #include "base/process_util.h"
21 #include "base/string_util.h" 21 #include "base/string_util.h"
22 #include "base/utf_string_conversions.h" 22 #include "base/utf_string_conversions.h"
23 #include "chrome/browser/chromeos/cros/cros_library.h" 23 #include "chrome/browser/chromeos/cros/cros_library.h"
24 #include "chrome/browser/chromeos/login/helper.h" 24 #include "chrome/browser/chromeos/login/helper.h"
25 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" 25 #include "chrome/browser/chromeos/login/rounded_rect_painter.h"
26 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
26 #include "grit/app_resources.h" 27 #include "grit/app_resources.h"
27 #include "grit/chromium_strings.h" 28 #include "grit/chromium_strings.h"
28 #include "grit/generated_resources.h" 29 #include "grit/generated_resources.h"
29 #include "views/controls/button/native_button.h" 30 #include "views/controls/button/native_button.h"
30 #include "views/controls/label.h" 31 #include "views/controls/label.h"
31 #include "views/controls/throbber.h" 32 #include "views/controls/throbber.h"
32 #include "views/widget/widget_gtk.h" 33 #include "views/widget/widget_gtk.h"
33 34
34 using views::Label; 35 using views::Label;
35 using views::Textfield; 36 using views::Textfield;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 splitter_(NULL), 83 splitter_(NULL),
83 sign_in_button_(NULL), 84 sign_in_button_(NULL),
84 create_account_link_(NULL), 85 create_account_link_(NULL),
85 browse_without_signin_link_(NULL), 86 browse_without_signin_link_(NULL),
86 languages_menubutton_(NULL), 87 languages_menubutton_(NULL),
87 throbber_(NULL), 88 throbber_(NULL),
88 accel_focus_pass_(views::Accelerator(app::VKEY_P, false, false, true)), 89 accel_focus_pass_(views::Accelerator(app::VKEY_P, false, false, true)),
89 accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)), 90 accel_focus_user_(views::Accelerator(app::VKEY_U, false, false, true)),
90 accel_login_off_the_record_( 91 accel_login_off_the_record_(
91 views::Accelerator(app::VKEY_B, false, false, true)), 92 views::Accelerator(app::VKEY_B, false, false, true)),
93 accel_enable_accessibility_(WizardAccessibilityHelper::GetAccelerator()),
92 delegate_(delegate), 94 delegate_(delegate),
93 ALLOW_THIS_IN_INITIALIZER_LIST(focus_grabber_factory_(this)), 95 ALLOW_THIS_IN_INITIALIZER_LIST(focus_grabber_factory_(this)),
94 focus_delayed_(false), 96 focus_delayed_(false),
95 login_in_process_(false), 97 login_in_process_(false),
96 need_border_(need_border), 98 need_border_(need_border),
97 need_browse_without_signin_(need_browse_without_signin), 99 need_browse_without_signin_(need_browse_without_signin),
98 need_create_account_(false), 100 need_create_account_(false),
99 languages_menubutton_order_(-1), 101 languages_menubutton_order_(-1),
100 sign_in_button_order_(-1) { 102 sign_in_button_order_(-1) {
101 } 103 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 language_switch_menu_.InitLanguageMenu(); 156 language_switch_menu_.InitLanguageMenu();
155 157
156 RecreatePeculiarControls(); 158 RecreatePeculiarControls();
157 AddChildView(sign_in_button_); 159 AddChildView(sign_in_button_);
158 AddChildView(languages_menubutton_); 160 AddChildView(languages_menubutton_);
159 161
160 // Set up accelerators. 162 // Set up accelerators.
161 AddAccelerator(accel_focus_user_); 163 AddAccelerator(accel_focus_user_);
162 AddAccelerator(accel_focus_pass_); 164 AddAccelerator(accel_focus_pass_);
163 AddAccelerator(accel_login_off_the_record_); 165 AddAccelerator(accel_login_off_the_record_);
166 AddAccelerator(accel_enable_accessibility_);
164 167
165 UpdateLocalizedStrings(); 168 UpdateLocalizedStrings();
166 RequestFocus(); 169 RequestFocus();
167 170
168 // Controller to handle events from textfields 171 // Controller to handle events from textfields
169 username_field_->SetController(this); 172 username_field_->SetController(this);
170 password_field_->SetController(this); 173 password_field_->SetController(this);
171 if (!CrosLibrary::Get()->EnsureLoaded()) { 174 if (!CrosLibrary::Get()->EnsureLoaded()) {
172 EnableInputControls(false); 175 EnableInputControls(false);
173 } 176 }
174 } 177 }
175 178
176 bool NewUserView::AcceleratorPressed(const views::Accelerator& accelerator) { 179 bool NewUserView::AcceleratorPressed(const views::Accelerator& accelerator) {
177 if (accelerator == accel_focus_user_) { 180 if (accelerator == accel_focus_user_) {
178 username_field_->RequestFocus(); 181 username_field_->RequestFocus();
179 } else if (accelerator == accel_focus_pass_) { 182 } else if (accelerator == accel_focus_pass_) {
180 password_field_->RequestFocus(); 183 password_field_->RequestFocus();
181 } else if (accelerator == accel_login_off_the_record_) { 184 } else if (accelerator == accel_login_off_the_record_) {
182 delegate_->OnLoginOffTheRecord(); 185 delegate_->OnLoginOffTheRecord();
186 } else if (accelerator == accel_enable_accessibility_) {
187 WizardAccessibilityHelper::GetInstance()->EnableAccessibility(this);
183 } else { 188 } else {
184 return false; 189 return false;
185 } 190 }
186 return true; 191 return true;
187 } 192 }
188 193
189 void NewUserView::RecreatePeculiarControls() { 194 void NewUserView::RecreatePeculiarControls() {
190 // PreferredSize reported by MenuButton (and TextField) is not able 195 // PreferredSize reported by MenuButton (and TextField) is not able
191 // to shrink, only grow; so recreate on text change. 196 // to shrink, only grow; so recreate on text change.
192 delete languages_menubutton_; 197 delete languages_menubutton_;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 &NewUserView::FocusFirstField)); 266 &NewUserView::FocusFirstField));
262 } 267 }
263 268
264 void NewUserView::ViewHierarchyChanged(bool is_add, 269 void NewUserView::ViewHierarchyChanged(bool is_add,
265 View *parent, 270 View *parent,
266 View *child) { 271 View *child) {
267 if (is_add && child == this) { 272 if (is_add && child == this) {
268 MessageLoop::current()->PostTask(FROM_HERE, 273 MessageLoop::current()->PostTask(FROM_HERE,
269 focus_grabber_factory_.NewRunnableMethod( 274 focus_grabber_factory_.NewRunnableMethod(
270 &NewUserView::FocusFirstField)); 275 &NewUserView::FocusFirstField));
276 WizardAccessibilityHelper::GetInstance()->MaybeEnableAccessibility(this);
271 } 277 }
272 } 278 }
273 279
274 void NewUserView::NativeViewHierarchyChanged(bool attached, 280 void NewUserView::NativeViewHierarchyChanged(bool attached,
275 gfx::NativeView native_view, 281 gfx::NativeView native_view,
276 views::RootView* root_view) { 282 views::RootView* root_view) {
277 if (focus_delayed_ && attached) { 283 if (focus_delayed_ && attached) {
278 focus_delayed_ = false; 284 focus_delayed_ = false;
279 MessageLoop::current()->PostTask(FROM_HERE, 285 MessageLoop::current()->PostTask(FROM_HERE,
280 focus_grabber_factory_.NewRunnableMethod( 286 focus_grabber_factory_.NewRunnableMethod(
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 } 493 }
488 } 494 }
489 495
490 void NewUserView::InitLink(views::Link** link) { 496 void NewUserView::InitLink(views::Link** link) {
491 *link = new views::Link(std::wstring()); 497 *link = new views::Link(std::wstring());
492 (*link)->SetController(this); 498 (*link)->SetController(this);
493 AddChildView(*link); 499 AddChildView(*link);
494 } 500 }
495 501
496 } // namespace chromeos 502 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698