| Index: ash/common/wm/overview/window_selector.cc
|
| diff --git a/ash/common/wm/overview/window_selector.cc b/ash/common/wm/overview/window_selector.cc
|
| index 03ed6fd9fb1a88084e5324c521498c672bde9757..3263411e7a0c8570a2d6e6cc649fd9be1bccd8df 100644
|
| --- a/ash/common/wm/overview/window_selector.cc
|
| +++ b/ash/common/wm/overview/window_selector.cc
|
| @@ -499,13 +499,25 @@ bool WindowSelector::HandleKeyEvent(views::Textfield* sender,
|
| break;
|
| case ui::VKEY_RIGHT:
|
| case ui::VKEY_TAB:
|
| - num_key_presses_++;
|
| - Move(WindowSelector::RIGHT, true);
|
| - break;
|
| + if (key_event.key_code() == ui::VKEY_RIGHT ||
|
| + !(key_event.flags() & ui::EF_SHIFT_DOWN)) {
|
| + num_key_presses_++;
|
| + Move(WindowSelector::RIGHT, true);
|
| + break;
|
| + }
|
| case ui::VKEY_LEFT:
|
| num_key_presses_++;
|
| Move(WindowSelector::LEFT, true);
|
| break;
|
| + case ui::VKEY_W:
|
| + if (!(key_event.flags() & ui::EF_CONTROL_DOWN) ||
|
| + !grid_list_[selected_grid_index_]->is_selecting()) {
|
| + // Allow the textfield to handle 'W' key when not used with Ctrl.
|
| + return false;
|
| + }
|
| + WmShell::Get()->RecordUserMetricsAction(UMA_WINDOW_OVERVIEW_CLOSE_KEY);
|
| + grid_list_[selected_grid_index_]->SelectedWindow()->CloseWindow();
|
| + break;
|
| case ui::VKEY_RETURN:
|
| // Ignore if no item is selected.
|
| if (!grid_list_[selected_grid_index_]->is_selecting())
|
|
|