summaryrefslogtreecommitdiffstats
path: root/chrome/test/webdriver/commands/screenshot_command.cc
diff options
context:
space:
mode:
authorkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-20 15:02:33 +0000
committerkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-20 15:02:33 +0000
commit2937a8c72bfd28188ccd0b3f3b54bc3303b5f537 (patch)
tree384b91fec1c7736bee9ce5e61055e84febe2fcd5 /chrome/test/webdriver/commands/screenshot_command.cc
parentcdca989154d270a6553c1c8e2df0122b521b49eb (diff)
downloadchromium_src-2937a8c72bfd28188ccd0b3f3b54bc3303b5f537.zip
chromium_src-2937a8c72bfd28188ccd0b3f3b54bc3303b5f537.tar.gz
chromium_src-2937a8c72bfd28188ccd0b3f3b54bc3303b5f537.tar.bz2
Refactor error handling in chromedriver. Introduce new error class containing a webdriver error code, possible error details, and a stack trace.
Also some minor cleanup of the command files. BUG=none TEST=none Review URL: http://codereview.chromium.org/7042018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86081 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/webdriver/commands/screenshot_command.cc')
-rw-r--r--chrome/test/webdriver/commands/screenshot_command.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/chrome/test/webdriver/commands/screenshot_command.cc b/chrome/test/webdriver/commands/screenshot_command.cc
index bec6d98..352b062 100644
--- a/chrome/test/webdriver/commands/screenshot_command.cc
+++ b/chrome/test/webdriver/commands/screenshot_command.cc
@@ -10,8 +10,8 @@
#include "base/base64.h"
#include "base/values.h"
#include "chrome/test/webdriver/commands/response.h"
-#include "chrome/test/webdriver/error_codes.h"
#include "chrome/test/webdriver/session.h"
+#include "chrome/test/webdriver/webdriver_error.h"
namespace webdriver {
@@ -27,23 +27,21 @@ bool ScreenshotCommand::DoesGet() {
void ScreenshotCommand::ExecuteGet(Response* const response) {
std::string raw_bytes;
- if (!session_->GetScreenShot(&raw_bytes)) {
- SET_WEBDRIVER_ERROR(response, "Screenshot of current page failed",
- kInternalServerError);
+ Error* error = session_->GetScreenShot(&raw_bytes);
+ if (error) {
+ response->SetError(error);
return;
}
// Convert the raw binary data to base 64 encoding for webdriver.
std::string base64_screenshot;
if (!base::Base64Encode(raw_bytes, &base64_screenshot)) {
- SET_WEBDRIVER_ERROR(response, "Encoding the PNG to base64 format failed",
- kInternalServerError);
+ response->SetError(new Error(
+ kUnknownError, "Encoding the PNG to base64 format failed"));
return;
}
response->SetValue(new StringValue(base64_screenshot));
- response->SetStatus(kSuccess);
}
} // namespace webdriver
-