OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ | 5 #ifndef CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ |
6 #define CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ | 6 #define CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ui/gfx/native_widget_types.h" | 10 #include "ui/gfx/native_widget_types.h" |
11 | 11 |
12 class PrefService; | 12 class PrefService; |
13 | 13 |
14 namespace gfx { | 14 namespace gfx { |
15 class Rect; | 15 class Rect; |
16 } | 16 } |
17 | 17 |
18 namespace chrome { | 18 namespace chrome { |
19 | 19 |
| 20 void RegisterScreenshotPrefs(PrefService* service); |
| 21 |
20 // Grabs a snapshot of the rectangle area |snapshot_bounds| with respect to the | 22 // Grabs a snapshot of the rectangle area |snapshot_bounds| with respect to the |
21 // top left corner of the designated window and stores a PNG representation | 23 // top left corner of the designated window and stores a PNG representation |
22 // into a byte vector. On Windows, |window| may be NULL to grab a snapshot of | 24 // into a byte vector. On Windows, |window| may be NULL to grab a snapshot of |
23 // the primary monitor. Returns true if the operation is successful. | 25 // the primary monitor. This takes into account calling user context (ie. checks |
| 26 // policy settings if taking screenshots is allowed), and is intended to be used |
| 27 // by browser code. If you need to take a screenshot for debugging purposes, |
| 28 // consider using GrabWindowSnapshot. |
| 29 // Returns true if the operation is successful (ie. permitted). |
| 30 bool GrabWindowSnapshotForUser( |
| 31 gfx::NativeWindow window, |
| 32 std::vector<unsigned char>* png_representation, |
| 33 const gfx::Rect& snapshot_bounds); |
| 34 |
| 35 namespace internal { |
| 36 |
| 37 // Like GrabWindowSnapshotForUser, but does not perform additional security |
| 38 // checks - just grabs a snapshot. This is intended to be used for debugging |
| 39 // purposes where no BrowserProcess instance is available (ie. tests). |
| 40 // DO NOT use in a result of user action. |
24 bool GrabWindowSnapshot( | 41 bool GrabWindowSnapshot( |
25 gfx::NativeWindow window, | 42 gfx::NativeWindow window, |
26 std::vector<unsigned char>* png_representation, | 43 std::vector<unsigned char>* png_representation, |
27 const gfx::Rect& snapshot_bounds); | 44 const gfx::Rect& snapshot_bounds); |
28 | 45 |
29 void RegisterScreenshotPrefs(PrefService* service); | 46 } // namespace internal |
30 | |
31 } // namespace chrome | 47 } // namespace chrome |
32 | 48 |
33 #endif // CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ | 49 #endif // CHROME_BROWSER_UI_WINDOW_SNAPSHOT_WINDOW_SNAPSHOT_H_ |
OLD | NEW |