Commit 6d4038f3 authored by sky's avatar sky Committed by Commit bot

Moves handling of toggling applist back to common code

Implementation is no longer aura specific.

BUG=612331
TEST=none
R=jamescook@chromium.org

Review-Url: https://codereview.chromium.org/2183993005
Cr-Commit-Position: refs/heads/master@{#408284}
parent 7727d401
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "ash/accelerators/accelerator_commands_aura.h" #include "ash/accelerators/accelerator_commands_aura.h"
#include "ash/common/accelerators/debug_commands.h" #include "ash/common/accelerators/debug_commands.h"
#include "ash/common/accessibility_delegate.h"
#include "ash/common/accessibility_types.h" #include "ash/common/accessibility_types.h"
#include "ash/common/ash_switches.h" #include "ash/common/ash_switches.h"
#include "ash/common/focus_cycler.h" #include "ash/common/focus_cycler.h"
...@@ -279,32 +278,6 @@ void HandleTakeScreenshot(ScreenshotDelegate* screenshot_delegate) { ...@@ -279,32 +278,6 @@ void HandleTakeScreenshot(ScreenshotDelegate* screenshot_delegate) {
screenshot_delegate->HandleTakeScreenshotForAllRootWindows(); screenshot_delegate->HandleTakeScreenshotForAllRootWindows();
} }
bool CanHandleToggleAppList(const ui::Accelerator& accelerator,
const ui::Accelerator& previous_accelerator) {
if (accelerator.key_code() == ui::VKEY_LWIN) {
// If something else was pressed between the Search key (LWIN)
// being pressed and released, then ignore the release of the
// Search key.
if (previous_accelerator.type() != ui::ET_KEY_PRESSED ||
previous_accelerator.key_code() != ui::VKEY_LWIN) {
return false;
}
// When spoken feedback is enabled, we should neither toggle the list nor
// consume the key since Search+Shift is one of the shortcuts the a11y
// feature uses. crbug.com/132296
if (WmShell::Get()->accessibility_delegate()->IsSpokenFeedbackEnabled())
return false;
}
return true;
}
void HandleToggleAppList(const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_LWIN)
base::RecordAction(UserMetricsAction("Accel_Search_LWin"));
WmShell::Get()->ToggleAppList();
}
gfx::ImageSkia CreateWallpaperImage(SkColor fill, SkColor rect) { gfx::ImageSkia CreateWallpaperImage(SkColor fill, SkColor rect) {
// TODO(oshima): Consider adding a command line option to control // TODO(oshima): Consider adding a command line option to control
// wallpaper images for testing. // wallpaper images for testing.
...@@ -426,7 +399,6 @@ bool AcceleratorControllerDelegateAura::HandlesAction( ...@@ -426,7 +399,6 @@ bool AcceleratorControllerDelegateAura::HandlesAction(
case TAKE_PARTIAL_SCREENSHOT: case TAKE_PARTIAL_SCREENSHOT:
case TAKE_SCREENSHOT: case TAKE_SCREENSHOT:
case TAKE_WINDOW_SCREENSHOT: case TAKE_WINDOW_SCREENSHOT:
case TOGGLE_APP_LIST:
case UNPIN: case UNPIN:
return true; return true;
...@@ -473,8 +445,6 @@ bool AcceleratorControllerDelegateAura::CanPerformAction( ...@@ -473,8 +445,6 @@ bool AcceleratorControllerDelegateAura::CanPerformAction(
return accelerators::IsInternalDisplayZoomEnabled(); return accelerators::IsInternalDisplayZoomEnabled();
case SHOW_MESSAGE_CENTER_BUBBLE: case SHOW_MESSAGE_CENTER_BUBBLE:
return CanHandleShowMessageCenterBubble(); return CanHandleShowMessageCenterBubble();
case TOGGLE_APP_LIST:
return CanHandleToggleAppList(accelerator, previous_accelerator);
case UNPIN: case UNPIN:
return CanHandleUnpin(); return CanHandleUnpin();
...@@ -614,9 +584,6 @@ void AcceleratorControllerDelegateAura::PerformAction( ...@@ -614,9 +584,6 @@ void AcceleratorControllerDelegateAura::PerformAction(
case TAKE_WINDOW_SCREENSHOT: case TAKE_WINDOW_SCREENSHOT:
HandleTakeWindowScreenshot(screenshot_delegate_.get()); HandleTakeWindowScreenshot(screenshot_delegate_.get());
break; break;
case TOGGLE_APP_LIST:
HandleToggleAppList(accelerator);
break;
case UNPIN: case UNPIN:
accelerators::Unpin(); accelerators::Unpin();
break; break;
......
...@@ -199,6 +199,32 @@ void HandleSwitchIme(ImeControlDelegate* ime_control_delegate, ...@@ -199,6 +199,32 @@ void HandleSwitchIme(ImeControlDelegate* ime_control_delegate,
ime_control_delegate->HandleSwitchIme(accelerator); ime_control_delegate->HandleSwitchIme(accelerator);
} }
bool CanHandleToggleAppList(const ui::Accelerator& accelerator,
const ui::Accelerator& previous_accelerator) {
if (accelerator.key_code() == ui::VKEY_LWIN) {
// If something else was pressed between the Search key (LWIN)
// being pressed and released, then ignore the release of the
// Search key.
if (previous_accelerator.type() != ui::ET_KEY_PRESSED ||
previous_accelerator.key_code() != ui::VKEY_LWIN) {
return false;
}
// When spoken feedback is enabled, we should neither toggle the list nor
// consume the key since Search+Shift is one of the shortcuts the a11y
// feature uses. crbug.com/132296
if (WmShell::Get()->accessibility_delegate()->IsSpokenFeedbackEnabled())
return false;
}
return true;
}
void HandleToggleAppList(const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_LWIN)
base::RecordAction(UserMetricsAction("Accel_Search_LWin"));
WmShell::Get()->ToggleAppList();
}
void HandleToggleFullscreen(const ui::Accelerator& accelerator) { void HandleToggleFullscreen(const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2) if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2)
base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4")); base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4"));
...@@ -633,6 +659,8 @@ bool AcceleratorController::CanPerformAction( ...@@ -633,6 +659,8 @@ bool AcceleratorController::CanPerformAction(
return CanHandlePreviousIme(ime_control_delegate_.get()); return CanHandlePreviousIme(ime_control_delegate_.get());
case SWITCH_IME: case SWITCH_IME:
return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator); return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator);
case TOGGLE_APP_LIST:
return CanHandleToggleAppList(accelerator, previous_accelerator);
case WINDOW_CYCLE_SNAP_DOCK_LEFT: case WINDOW_CYCLE_SNAP_DOCK_LEFT:
case WINDOW_CYCLE_SNAP_DOCK_RIGHT: case WINDOW_CYCLE_SNAP_DOCK_RIGHT:
return CanHandleWindowSnapOrDock(); return CanHandleWindowSnapOrDock();
...@@ -775,6 +803,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action, ...@@ -775,6 +803,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action,
case SWITCH_IME: case SWITCH_IME:
HandleSwitchIme(ime_control_delegate_.get(), accelerator); HandleSwitchIme(ime_control_delegate_.get(), accelerator);
break; break;
case TOGGLE_APP_LIST:
HandleToggleAppList(accelerator);
break;
case TOGGLE_FULLSCREEN: case TOGGLE_FULLSCREEN:
HandleToggleFullscreen(accelerator); HandleToggleFullscreen(accelerator);
break; break;
......
...@@ -48,7 +48,6 @@ bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) { ...@@ -48,7 +48,6 @@ bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) {
case TAKE_PARTIAL_SCREENSHOT: case TAKE_PARTIAL_SCREENSHOT:
case TAKE_SCREENSHOT: case TAKE_SCREENSHOT:
case TAKE_WINDOW_SCREENSHOT: case TAKE_WINDOW_SCREENSHOT:
case TOGGLE_APP_LIST:
case UNPIN: case UNPIN:
NOTIMPLEMENTED(); NOTIMPLEMENTED();
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment