summaryrefslogtreecommitdiffstats
path: root/ash/accelerators
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-04 21:26:04 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-04 21:26:04 +0000
commit6f7699f47545ca638b0629ca6173ff8e28cfdd18 (patch)
tree2c3226580732782cf19b60f8f31c2a401a6b9fa6 /ash/accelerators
parent556dab216bb1bfd18ba4531b41e3a6a34da50ba3 (diff)
downloadchromium_src-6f7699f47545ca638b0629ca6173ff8e28cfdd18.zip
chromium_src-6f7699f47545ca638b0629ca6173ff8e28cfdd18.tar.gz
chromium_src-6f7699f47545ca638b0629ca6173ff8e28cfdd18.tar.bz2
Adding forwards / backwards cycling hotkey through logged in users
This does not add the keys to the keyboard overlay page. I am investigating that in parallel (note that these keys are only in an experiment behind (several) flags and as such this might not even be required for now). BUG=321629 TEST=unittest (additionally tested visually) Review URL: https://codereview.chromium.org/104403003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238774 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/accelerators')
-rw-r--r--ash/accelerators/accelerator_controller.cc18
-rw-r--r--ash/accelerators/accelerator_table.cc4
-rw-r--r--ash/accelerators/accelerator_table.h1
3 files changed, 17 insertions, 6 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index ac0096f..3c3e831 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -624,9 +624,7 @@ bool HandleLock(ui::KeyboardCode key_code) {
return true;
}
-bool HandleSwitchToNextUser() {
- content::RecordAction(UserMetricsAction("Accel_Switch_To_Next_User"));
-
+bool HandleCycleUser(SessionStateDelegate::CycleUser cycle_user) {
if (!Shell::GetInstance()->delegate()->IsMultiProfilesEnabled())
return false;
ash::SessionStateDelegate* delegate =
@@ -635,7 +633,15 @@ bool HandleSwitchToNextUser() {
return false;
MultiProfileUMA::RecordSwitchActiveUser(
MultiProfileUMA::SWITCH_ACTIVE_USER_BY_ACCELERATOR);
- delegate->SwitchActiveUserToNext();
+ switch (cycle_user) {
+ case SessionStateDelegate::CYCLE_TO_NEXT_USER:
+ content::RecordAction(UserMetricsAction("Accel_Switch_To_Next_User"));
+ break;
+ case SessionStateDelegate::CYCLE_TO_PREVIOUS_USER:
+ content::RecordAction(UserMetricsAction("Accel_Switch_To_Previous_User"));
+ break;
+ }
+ delegate->CycleActiveUser(cycle_user);
return true;
}
@@ -941,7 +947,9 @@ bool AcceleratorController::PerformAction(int action,
case SWAP_PRIMARY_DISPLAY:
return HandleSwapPrimaryDisplay();
case SWITCH_TO_NEXT_USER:
- return HandleSwitchToNextUser();
+ return HandleCycleUser(SessionStateDelegate::CYCLE_TO_NEXT_USER);
+ case SWITCH_TO_PREVIOUS_USER:
+ return HandleCycleUser(SessionStateDelegate::CYCLE_TO_PREVIOUS_USER);
case TOGGLE_SPOKEN_FEEDBACK:
return HandleToggleSpokenFeedback();
case TOGGLE_WIFI:
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc
index 4ffc1ab..cd3a580 100644
--- a/ash/accelerators/accelerator_table.cc
+++ b/ash/accelerators/accelerator_table.cc
@@ -81,7 +81,9 @@ const AcceleratorData kAcceleratorData[] = {
{ true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
TOGGLE_SPOKEN_FEEDBACK },
{ true, ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, SILENCE_SPOKEN_FEEDBACK},
- { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ { true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ SWITCH_TO_PREVIOUS_USER },
+ { true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
SWITCH_TO_NEXT_USER },
#endif // defined(OS_CHROMEOS)
{ true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE },
diff --git a/ash/accelerators/accelerator_table.h b/ash/accelerators/accelerator_table.h
index 21bbf6a..d120960 100644
--- a/ash/accelerators/accelerator_table.h
+++ b/ash/accelerators/accelerator_table.h
@@ -135,6 +135,7 @@ enum AcceleratorAction {
OPEN_CROSH,
OPEN_FILE_MANAGER,
SWITCH_TO_NEXT_USER,
+ SWITCH_TO_PREVIOUS_USER,
#endif
};