Chromium Code Reviews| Index: ash/accelerators/accelerator_controller.cc |
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
| index 229c7c444c3859235dd34fc5054a37ddd6f7aaf8..0014f1f4c08e40abe23e1ca1e1cd06199ff71da9 100644 |
| --- a/ash/accelerators/accelerator_controller.cc |
| +++ b/ash/accelerators/accelerator_controller.cc |
| @@ -459,6 +459,16 @@ void HandleSwitchIme(ImeControlDelegate* ime_control_delegate, |
| ime_control_delegate->HandleSwitchIme(accelerator); |
| } |
| +void HandleTakeActiveWindowScreenshot(ScreenshotDelegate* screenshot_delegate) { |
| + base::RecordAction(UserMetricsAction("Accel_Take_Window_Screenshot")); |
| + DCHECK(screenshot_delegate); |
| + aura::Window* active_window = wm::GetActiveWindow(); |
| + if (!active_window) |
| + return; |
| + if (screenshot_delegate->CanTakeScreenshot()) |
|
sky
2016/04/13 23:56:16
Why do we need to route taking the screenshot to t
Qiang(Joe) Xu
2016/04/14 22:37:53
Because currently taking screenshot has dependenci
|
| + screenshot_delegate->HandleTakeWindowScreenshot(active_window); |
| +} |
| + |
| void HandleTakePartialScreenshot(ScreenshotDelegate* screenshot_delegate) { |
| base::RecordAction(UserMetricsAction("Accel_Take_Partial_Screenshot")); |
| DCHECK(screenshot_delegate); |
| @@ -1081,6 +1091,7 @@ bool AcceleratorController::CanPerformAction( |
| case SHOW_KEYBOARD_OVERLAY: |
| case SHOW_SYSTEM_TRAY_BUBBLE: |
| case SHOW_TASK_MANAGER: |
| + case TAKE_ACTIVE_WINDOW_SCREENSHOT: |
| case TAKE_PARTIAL_SCREENSHOT: |
| case TAKE_SCREENSHOT: |
| case TOGGLE_FULLSCREEN: |
| @@ -1252,6 +1263,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action, |
| case SWITCH_IME: |
| HandleSwitchIme(ime_control_delegate_.get(), accelerator); |
| break; |
| + case TAKE_ACTIVE_WINDOW_SCREENSHOT: |
| + HandleTakeActiveWindowScreenshot(screenshot_delegate_.get()); |
| + break; |
| case TAKE_PARTIAL_SCREENSHOT: |
| HandleTakePartialScreenshot(screenshot_delegate_.get()); |
| break; |