| Index: ash/accelerators/accelerator_controller.cc
|
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
|
| index d5455111fd1945d1ce2dfb9b054f08047f30f859..200015978e2f8952723fa1f63f7033effcc60be0 100644
|
| --- a/ash/accelerators/accelerator_controller.cc
|
| +++ b/ash/accelerators/accelerator_controller.cc
|
| @@ -21,8 +21,10 @@
|
| #include "ash/system/brightness/brightness_control_delegate.h"
|
| #include "ash/system/tray/system_tray.h"
|
| #include "ash/volume_control_delegate.h"
|
| +#include "ash/wm/property_util.h"
|
| #include "ash/wm/window_cycle_controller.h"
|
| #include "ash/wm/window_util.h"
|
| +#include "ash/wm/workspace/snap_sizer.h"
|
| #include "base/command_line.h"
|
| #include "ui/aura/event.h"
|
| #include "ui/aura/root_window.h"
|
| @@ -452,6 +454,41 @@ bool AcceleratorController::AcceleratorPressed(
|
| case SELECT_LAST_WIN:
|
| SwitchToWindow(-1);
|
| break;
|
| + case WINDOW_SNAP_LEFT:
|
| + case WINDOW_SNAP_RIGHT: {
|
| + aura::Window* window = wm::GetActiveWindow();
|
| + if (!window)
|
| + break;
|
| + internal::SnapSizer sizer(window,
|
| + gfx::Point(),
|
| + action == WINDOW_SNAP_LEFT ? internal::SnapSizer::LEFT_EDGE :
|
| + internal::SnapSizer::RIGHT_EDGE,
|
| + shell->GetGridSize());
|
| + window->SetBounds(sizer.GetSnapBounds(window->bounds()));
|
| + break;
|
| + }
|
| + case WINDOW_MINIMIZE: {
|
| + aura::Window* window = wm::GetActiveWindow();
|
| + if (window)
|
| + wm::MinimizeWindow(window);
|
| + break;
|
| + }
|
| + case WINDOW_MAXIMIZE_RESTORE: {
|
| + aura::Window* window = wm::GetActiveWindow();
|
| + if (window) {
|
| + if (wm::IsWindowMaximized(window))
|
| + wm::RestoreWindow(window);
|
| + else
|
| + wm::MaximizeWindow(window);
|
| + }
|
| + break;
|
| + }
|
| + case WINDOW_POSITION_CENTER: {
|
| + aura::Window* window = wm::GetActiveWindow();
|
| + if (window)
|
| + wm::CenterWindow(window);
|
| + break;
|
| + }
|
| case ROTATE_WINDOWS:
|
| return HandleRotateWindows();
|
| #if !defined(NDEBUG)
|
|
|