| Index: chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc
|
| diff --git a/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc b/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc
|
| index b850a5961e4cc9d9a8edf39631bb74b7becd4c21..c431d684a2cf2bfd93c870250e0808f56d7577cb 100644
|
| --- a/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc
|
| +++ b/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc
|
| @@ -5,6 +5,9 @@
|
| #include "chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.h"
|
|
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| +#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
|
| +#include "chrome/browser/chromeos/policy/status_uploader.h"
|
| #include "chrome/browser/chromeos/policy/upload_job_impl.h"
|
| #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
|
| #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
|
| @@ -20,6 +23,18 @@ ScreenshotDelegate::ScreenshotDelegate(
|
| ScreenshotDelegate::~ScreenshotDelegate() {
|
| }
|
|
|
| +bool ScreenshotDelegate::IsScreenshotAllowed() {
|
| + BrowserPolicyConnectorChromeOS* connector =
|
| + g_browser_process->platform_part()->browser_policy_connector_chromeos();
|
| + DeviceCloudPolicyManagerChromeOS* manager =
|
| + connector->GetDeviceCloudPolicyManager();
|
| + // DeviceCloudPolicyManagerChromeOS and StatusUploader can be null during
|
| + // shutdown (and unit tests) - don't allow screenshots unless we have a
|
| + // StatusUploader that can confirm that screenshots are allowed.
|
| + return manager && manager->GetStatusUploader() &&
|
| + manager->GetStatusUploader()->IsSessionDataUploadAllowed();
|
| +}
|
| +
|
| void ScreenshotDelegate::TakeSnapshot(
|
| gfx::NativeWindow window,
|
| const gfx::Rect& source_rect,
|
|
|