Index: chrome/browser/ui/ash/chrome_screenshot_grabber.cc |
diff --git a/chrome/browser/ui/ash/chrome_screenshot_grabber.cc b/chrome/browser/ui/ash/chrome_screenshot_grabber.cc |
index fff9cd3e48b83ea80a120bb3fed304a49de177f2..ea13bf4a8b49c9c54af27b12ca0c86bb0105ee24 100644 |
--- a/chrome/browser/ui/ash/chrome_screenshot_grabber.cc |
+++ b/chrome/browser/ui/ash/chrome_screenshot_grabber.cc |
@@ -350,6 +350,29 @@ void ChromeScreenshotGrabber::HandleTakePartialScreenshot( |
content::RecordAction(base::UserMetricsAction("Screenshot_TakePartial")); |
} |
+void ChromeScreenshotGrabber::HandleTakeWindowScreenshot(aura::Window* window) { |
+ if (ScreenshotsDisabled()) { |
+ screenshot_grabber_->NotifyScreenshotCompleted( |
+ ui::ScreenshotGrabberObserver::SCREENSHOTS_DISABLED, base::FilePath()); |
+ return; |
+ } |
+ |
+ base::FilePath screenshot_directory; |
+ if (!GetScreenshotDirectory(&screenshot_directory)) { |
+ screenshot_grabber_->NotifyScreenshotCompleted( |
+ ui::ScreenshotGrabberObserver::SCREENSHOT_GET_DIR_FAILED, |
+ base::FilePath()); |
+ return; |
+ } |
+ |
+ base::FilePath screenshot_path = |
+ screenshot_directory.AppendASCII(GetScreenshotBaseFilename() + ".png"); |
+ screenshot_grabber_->TakeScreenshot(window, |
+ gfx::Rect(window->bounds().size()), |
+ screenshot_path); |
+ content::RecordAction(base::UserMetricsAction("Screenshot_TakeWindow")); |
+} |
+ |
bool ChromeScreenshotGrabber::CanTakeScreenshot() { |
return screenshot_grabber_->CanTakeScreenshot(); |
} |