Chromium Code Reviews| Index: ash/accelerators/accelerator_controller.cc |
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
| index 2ed2a555b62d8f2b3ef25517903b5d6713c25c0a..62d9796facd7e233cdc4088fa0f17abc0c4fe336 100644 |
| --- a/ash/accelerators/accelerator_controller.cc |
| +++ b/ash/accelerators/accelerator_controller.cc |
| @@ -459,6 +459,14 @@ 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* current_window = wm::GetActiveWindow(); |
| + if (screenshot_delegate->CanTakeScreenshot()) |
|
sky
2016/03/25 15:27:53
Early out if current_window is null? Also, current
Qiang(Joe) Xu
2016/03/25 19:09:40
I added:
if (!active_window)
return;
once this
|
| + screenshot_delegate->HandleTakeWindowScreenshot(current_window); |
| +} |
| + |
| void HandleTakePartialScreenshot(ScreenshotDelegate* screenshot_delegate) { |
| base::RecordAction(UserMetricsAction("Accel_Take_Partial_Screenshot")); |
| DCHECK(screenshot_delegate); |
| @@ -1081,6 +1089,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 +1261,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; |