Index: ash/accelerators/accelerator_controller.cc |
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
index b96c201cf62b92d68d3105f0f5a93ca84cb4fdde..19fba850bae85366c0a53920e97cd500cbb3e63b 100644 |
--- a/ash/accelerators/accelerator_controller.cc |
+++ b/ash/accelerators/accelerator_controller.cc |
@@ -95,7 +95,11 @@ bool HandleCycleWindowMRU(WindowCycleController::Direction direction, |
void HandleCycleWindowLinear(CycleDirection direction) { |
Shell::GetInstance()-> |
- window_cycle_controller()->HandleLinearCycleWindow(); |
+ window_cycle_controller()->HandleLinearCycleWindow(); |
+} |
+ |
+void ToggleOverviewMode() { |
+ Shell::GetInstance()->window_cycle_controller()->ToggleOverview(); |
} |
bool HandleAccessibleFocusCycle(bool reverse) { |
@@ -521,11 +525,23 @@ bool AcceleratorController::PerformAction(int action, |
return HandleCycleWindowMRU(WindowCycleController::FORWARD, |
accelerator.IsAltDown()); |
case CYCLE_BACKWARD_LINEAR: |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kAshEnableOverviewMode)) { |
+ shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_OVERVIEW_F5); |
+ ToggleOverviewMode(); |
+ return true; |
+ } |
if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) |
shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); |
HandleCycleWindowLinear(CYCLE_BACKWARD); |
return true; |
case CYCLE_FORWARD_LINEAR: |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kAshEnableOverviewMode)) { |
+ shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_OVERVIEW_F5); |
+ ToggleOverviewMode(); |
+ return true; |
+ } |
if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) |
shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); |
HandleCycleWindowLinear(CYCLE_FORWARD); |