| Index: ash/accelerators/accelerator_controller.cc
|
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
|
| index 5b5c70d5f54e1e5db1ba20bdfc90fedfdb4d0968..fb3f8e79490cca043854b79f0b2673e06f417816 100644
|
| --- a/ash/accelerators/accelerator_controller.cc
|
| +++ b/ash/accelerators/accelerator_controller.cc
|
| @@ -547,6 +547,15 @@ void HandlePositionCenter() {
|
| wm::CenterWindow(wm::GetActiveWindow());
|
| }
|
|
|
| +bool CanHandleUnpin() {
|
| + wm::WindowState* window_state = wm::GetActiveWindowState();
|
| + return window_state && window_state->IsPinned();
|
| +}
|
| +
|
| +void HandleUnpin() {
|
| + accelerators::Unpin();
|
| +}
|
| +
|
| #if defined(OS_CHROMEOS)
|
| void HandleBrightnessDown(BrightnessControlDelegate* delegate,
|
| const ui::Accelerator& accelerator) {
|
| @@ -1032,6 +1041,8 @@ bool AcceleratorController::CanPerformAction(
|
| return CanHandleWindowSnapOrDock();
|
| case WINDOW_POSITION_CENTER:
|
| return CanHandlePositionCenter();
|
| + case UNPIN:
|
| + return CanHandleUnpin();
|
| #if defined(OS_CHROMEOS)
|
| case DEBUG_ADD_REMOVE_DISPLAY:
|
| case DEBUG_TOGGLE_TOUCH_PAD:
|
| @@ -1287,6 +1298,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action,
|
| case WINDOW_POSITION_CENTER:
|
| HandlePositionCenter();
|
| break;
|
| + case UNPIN:
|
| + HandleUnpin();
|
| + break;
|
| #if defined(OS_CHROMEOS)
|
| case BRIGHTNESS_DOWN:
|
| HandleBrightnessDown(brightness_control_delegate_.get(), accelerator);
|
|
|