Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Unified Diff: chrome/test/webdriver/web_element_id.cc

Issue 7522024: Refactor chromedriver's script execution to reduce amount of custom Value parsing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/webdriver/web_element_id.cc
diff --git a/chrome/test/webdriver/web_element_id.cc b/chrome/test/webdriver/web_element_id.cc
index 833cb270e425ef75e93aa61b763d639658f8e930..0344ab0aa3761efb5960ec32c54fc2cb846ae938 100644
--- a/chrome/test/webdriver/web_element_id.cc
+++ b/chrome/test/webdriver/web_element_id.cc
@@ -6,6 +6,7 @@
#include "base/logging.h"
#include "base/values.h"
+#include "chrome/test/automation/javascript_message_utils.h"
namespace {
@@ -30,10 +31,10 @@ WebElementId::WebElementId() : is_valid_(false) {}
WebElementId::WebElementId(const std::string& id) : id_(id), is_valid_(true) {}
-WebElementId::WebElementId(Value* value) {
+WebElementId::WebElementId(const Value* value) {
is_valid_ = false;
if (value->IsType(Value::TYPE_DICTIONARY)) {
- is_valid_ = static_cast<DictionaryValue*>(value)->
+ is_valid_ = static_cast<const DictionaryValue*>(value)->
GetString(kWebElementKey, &id_);
}
}
@@ -54,3 +55,22 @@ bool WebElementId::is_valid() const {
}
} // namespace webdriver
+
+base::Value* ValueConversionTraits<webdriver::WebElementId>::CreateValueFrom(
+ const webdriver::WebElementId& t) {
+ return t.ToValue();
+}
+
+bool ValueConversionTraits<webdriver::WebElementId>::SetFromValue(
+ const base::Value* value, webdriver::WebElementId* t) {
+ webdriver::WebElementId id(value);
+ if (id.is_valid())
+ *t = id;
+ return id.is_valid();
+}
+
+bool ValueConversionTraits<webdriver::WebElementId>::CanConvert(
+ const base::Value* value) {
+ webdriver::WebElementId t;
+ return SetFromValue(value, &t);
+}

Powered by Google App Engine
This is Rietveld 408576698