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

Unified Diff: third_party/WebKit/Source/platform/inspector_protocol/Array.h

Issue 2164353002: [DevTools] Unify toValue and FromValue into ValueConversions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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: third_party/WebKit/Source/platform/inspector_protocol/Array.h
diff --git a/third_party/WebKit/Source/platform/inspector_protocol/Array.h b/third_party/WebKit/Source/platform/inspector_protocol/Array.h
index d92af3a5ed7d05259a52304c5f86a6f407cdda82..720182258b953366ca8ef8fc62342debc380733b 100644
--- a/third_party/WebKit/Source/platform/inspector_protocol/Array.h
+++ b/third_party/WebKit/Source/platform/inspector_protocol/Array.h
@@ -17,7 +17,7 @@ namespace blink {
namespace protocol {
template<typename T>
-class ArrayBase {
+class Array {
public:
static std::unique_ptr<Array<T>> create()
{
@@ -31,12 +31,12 @@ public:
errors->addError("array expected");
return nullptr;
}
- errors->push();
std::unique_ptr<Array<T>> result(new Array<T>());
+ errors->push();
for (size_t i = 0; i < array->size(); ++i) {
errors->setName(String16::fromInteger(i));
- T item = FromValue<T>::parse(array->at(i), errors);
- result->m_vector.push_back(item);
+ std::unique_ptr<T> item = ValueConversions<T>::parse(array->at(i), errors);
+ result->m_vector.push_back(std::move(item));
}
errors->pop();
if (errors->hasErrors())
@@ -44,9 +44,9 @@ public:
return result;
}
- void addItem(const T& value)
+ void addItem(std::unique_ptr<T> value)
{
- m_vector.push_back(value);
+ m_vector.push_back(std::move(value));
}
size_t length()
@@ -54,31 +54,25 @@ public:
return m_vector.size();
}
- T get(size_t index)
+ T* get(size_t index)
{
- return m_vector[index];
+ return m_vector[index].get();
}
std::unique_ptr<protocol::ListValue> serialize()
{
std::unique_ptr<protocol::ListValue> result = ListValue::create();
for (auto& item : m_vector)
- result->pushValue(toValue(item));
+ result->pushValue(ValueConversions<T>::serialize(item));
return result;
}
private:
- std::vector<T> m_vector;
+ std::vector<std::unique_ptr<T>> m_vector;
};
-template<> class Array<String> : public ArrayBase<String> {};
-template<> class Array<String16> : public ArrayBase<String16> {};
-template<> class Array<int> : public ArrayBase<int> {};
-template<> class Array<double> : public ArrayBase<double> {};
-template<> class Array<bool> : public ArrayBase<bool> {};
-
template<typename T>
-class Array {
+class ArrayBase {
public:
static std::unique_ptr<Array<T>> create()
{
@@ -92,12 +86,12 @@ public:
errors->addError("array expected");
return nullptr;
}
- std::unique_ptr<Array<T>> result(new Array<T>());
errors->push();
+ std::unique_ptr<Array<T>> result(new Array<T>());
for (size_t i = 0; i < array->size(); ++i) {
errors->setName(String16::fromInteger(i));
- std::unique_ptr<T> item = FromValue<T>::parse(array->at(i), errors);
- result->m_vector.push_back(std::move(item));
+ T item = ValueConversions<T>::parse(array->at(i), errors);
+ result->m_vector.push_back(item);
}
errors->pop();
if (errors->hasErrors())
@@ -105,9 +99,9 @@ public:
return result;
}
- void addItem(std::unique_ptr<T> value)
+ void addItem(const T& value)
{
- m_vector.push_back(std::move(value));
+ m_vector.push_back(value);
}
size_t length()
@@ -115,23 +109,29 @@ public:
return m_vector.size();
}
- T* get(size_t index)
+ T get(size_t index)
{
- return m_vector[index].get();
+ return m_vector[index];
}
std::unique_ptr<protocol::ListValue> serialize()
{
std::unique_ptr<protocol::ListValue> result = ListValue::create();
for (auto& item : m_vector)
- result->pushValue(toValue(item));
+ result->pushValue(ValueConversions<T>::serialize(item));
return result;
}
private:
- std::vector<std::unique_ptr<T>> m_vector;
+ std::vector<T> m_vector;
};
+template<> class Array<String> : public ArrayBase<String> {};
+template<> class Array<String16> : public ArrayBase<String16> {};
+template<> class Array<int> : public ArrayBase<int> {};
+template<> class Array<double> : public ArrayBase<double> {};
+template<> class Array<bool> : public ArrayBase<bool> {};
+
} // namespace platform
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698