Index: chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc |
diff --git a/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc b/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc |
index bcb1ffc7ab3bad070152805a0f1c11f72092d430..96588b0b021026272027131aa47d8edae94ac41c 100644 |
--- a/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc |
+++ b/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc |
@@ -149,7 +149,6 @@ bool DeviceCommandScreenshotJob::ParseCommandPayload( |
if (!payload->GetString(kUploadUrlFieldName, &upload_url)) |
return false; |
upload_url_ = GURL(upload_url); |
- DCHECK(upload_url_.is_valid()) << upload_url_ << " is not a valid URL"; |
return true; |
} |
@@ -195,12 +194,23 @@ void DeviceCommandScreenshotJob::RunImpl( |
aura::Window::Windows root_windows = ash::Shell::GetAllRootWindows(); |
+ // Immediately fail if the upload url is invalid. |
+ if (!upload_url_.is_valid()) { |
+ LOG(ERROR) << upload_url_ << " is not a valid URL."; |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, |
+ base::Bind(failed_callback_, base::Passed(make_scoped_ptr( |
+ new Payload(FAILURE_INVALID_URL))))); |
+ return; |
+ } |
+ |
// Immediately fail if there are no attached screens. |
if (root_windows.size() == 0) { |
base::ThreadTaskRunnerHandle::Get()->PostTask( |
FROM_HERE, |
base::Bind(failed_callback_, base::Passed(make_scoped_ptr(new Payload( |
FAILURE_SCREENSHOT_ACQUISITION))))); |
+ return; |
} |
// Post tasks to the sequenced worker pool for taking screenshots on each |