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

Side by Side Diff: chrome/browser/ui/views/profiles/profile_chooser_view.cc

Issue 591263002: [Win] Allow using the arrow keys for tabbing in the avatar bubble. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 6 years, 3 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
« no previous file with comments | « chrome/browser/ui/views/profiles/profile_chooser_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/ui/views/profiles/profile_chooser_view.h" 5 #include "chrome/browser/ui/views/profiles/profile_chooser_view.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/lifetime/application_lifetime.h" 10 #include "chrome/browser/lifetime/application_lifetime.h"
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 // If view mode is PROFILE_CHOOSER but there is an auth error, force 590 // If view mode is PROFILE_CHOOSER but there is an auth error, force
591 // ACCOUNT_MANAGEMENT mode. 591 // ACCOUNT_MANAGEMENT mode.
592 if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER && 592 if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER &&
593 HasAuthError(browser_->profile()) && 593 HasAuthError(browser_->profile()) &&
594 switches::IsEnableAccountConsistency() && 594 switches::IsEnableAccountConsistency() &&
595 avatar_menu_->GetItemAt(avatar_menu_->GetActiveProfileIndex()). 595 avatar_menu_->GetItemAt(avatar_menu_->GetActiveProfileIndex()).
596 signed_in) { 596 signed_in) {
597 view_mode_ = profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT; 597 view_mode_ = profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT;
598 } 598 }
599 599
600 // The arrow keys can be used to tab between items.
601 AddAccelerator(ui::Accelerator(ui::VKEY_DOWN, ui::EF_NONE));
602 AddAccelerator(ui::Accelerator(ui::VKEY_UP, ui::EF_NONE));
603
600 ShowView(view_mode_, avatar_menu_.get()); 604 ShowView(view_mode_, avatar_menu_.get());
601 } 605 }
602 606
603 void ProfileChooserView::OnAvatarMenuChanged( 607 void ProfileChooserView::OnAvatarMenuChanged(
604 AvatarMenu* avatar_menu) { 608 AvatarMenu* avatar_menu) {
605 if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER || 609 if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER ||
606 view_mode_ == profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT) { 610 view_mode_ == profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT) {
607 // Refresh the view with the new menu. We can't just update the local copy 611 // Refresh the view with the new menu. We can't just update the local copy
608 // as this may have been triggered by a sign out action, in which case 612 // as this may have been triggered by a sign out action, in which case
609 // the view is being destroyed. 613 // the view is being destroyed.
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 void ProfileChooserView::WindowClosing() { 694 void ProfileChooserView::WindowClosing() {
691 DCHECK_EQ(profile_bubble_, this); 695 DCHECK_EQ(profile_bubble_, this);
692 profile_bubble_ = NULL; 696 profile_bubble_ = NULL;
693 697
694 if (tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) { 698 if (tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) {
695 LoginUIServiceFactory::GetForProfile(browser_->profile())-> 699 LoginUIServiceFactory::GetForProfile(browser_->profile())->
696 SyncConfirmationUIClosed(false /* configure_sync_first */); 700 SyncConfirmationUIClosed(false /* configure_sync_first */);
697 } 701 }
698 } 702 }
699 703
704 bool ProfileChooserView::AcceleratorPressed(
705 const ui::Accelerator& accelerator) {
706 if (accelerator.key_code() != ui::VKEY_DOWN &&
707 accelerator.key_code() != ui::VKEY_UP)
708 return BubbleDelegateView::AcceleratorPressed(accelerator);
709 // Move the focus up or down.
710 GetFocusManager()->AdvanceFocus(accelerator.key_code() != ui::VKEY_DOWN);
711 return true;
712 }
713
700 void ProfileChooserView::ButtonPressed(views::Button* sender, 714 void ProfileChooserView::ButtonPressed(views::Button* sender,
701 const ui::Event& event) { 715 const ui::Event& event) {
702 // Disable button after clicking so that it doesn't get clicked twice and 716 // Disable button after clicking so that it doesn't get clicked twice and
703 // start a second action... which can crash Chrome. But don't disable if it 717 // start a second action... which can crash Chrome. But don't disable if it
704 // has no parent (like in tests) because that will also crash. 718 // has no parent (like in tests) because that will also crash.
705 if (sender->parent()) 719 if (sender->parent())
706 sender->SetEnabled(false); 720 sender->SetEnabled(false);
707 721
708 if (sender == users_button_) { 722 if (sender == users_button_) {
709 // If this is a guest session, close all the guest browser windows. 723 // If this is a guest session, close all the guest browser windows.
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != 1652 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) !=
1639 IncognitoModePrefs::DISABLED; 1653 IncognitoModePrefs::DISABLED;
1640 return incognito_available && !browser_->profile()->IsGuestSession(); 1654 return incognito_available && !browser_->profile()->IsGuestSession();
1641 } 1655 }
1642 1656
1643 void ProfileChooserView::PostActionPerformed( 1657 void ProfileChooserView::PostActionPerformed(
1644 ProfileMetrics::ProfileDesktopMenu action_performed) { 1658 ProfileMetrics::ProfileDesktopMenu action_performed) {
1645 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); 1659 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_);
1646 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; 1660 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE;
1647 } 1661 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/profiles/profile_chooser_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698