diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-04 21:26:04 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-04 21:26:04 +0000 |
commit | 6f7699f47545ca638b0629ca6173ff8e28cfdd18 (patch) | |
tree | 2c3226580732782cf19b60f8f31c2a401a6b9fa6 /ash/accelerators | |
parent | 556dab216bb1bfd18ba4531b41e3a6a34da50ba3 (diff) | |
download | chromium_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.cc | 18 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.cc | 4 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.h | 1 |
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 }; |