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

Unified Diff: third_party/WebKit/Source/platform/inspector_protocol/Values.cpp

Issue 2087953004: Switch v8 inspector to stl collections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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/Values.cpp
diff --git a/third_party/WebKit/Source/platform/inspector_protocol/Values.cpp b/third_party/WebKit/Source/platform/inspector_protocol/Values.cpp
index 9cc1ca51bf484a7c751f35e528f56111683656cd..44acdd4688e4b5440db8af779277ee0c05bc93e8 100644
--- a/third_party/WebKit/Source/platform/inspector_protocol/Values.cpp
+++ b/third_party/WebKit/Source/platform/inspector_protocol/Values.cpp
@@ -6,6 +6,8 @@
#include "platform/inspector_protocol/Parser.h"
#include "platform/inspector_protocol/String16.h"
+
+#include <algorithm>
#include <cmath>
namespace blink {
@@ -193,23 +195,17 @@ void DictionaryValue::setString(const String16& name, const String16& value)
void DictionaryValue::setValue(const String16& name, std::unique_ptr<Value> value)
{
- DCHECK(value);
- if (m_data.set(name, std::move(value)))
- m_order.append(name);
+ set(name, value);
}
void DictionaryValue::setObject(const String16& name, std::unique_ptr<DictionaryValue> value)
{
- DCHECK(value);
- if (m_data.set(name, std::move(value)))
- m_order.append(name);
+ set(name, value);
}
void DictionaryValue::setArray(const String16& name, std::unique_ptr<ListValue> value)
{
- DCHECK(value);
- if (m_data.set(name, std::move(value)))
- m_order.append(name);
+ set(name, value);
}
bool DictionaryValue::getBoolean(const String16& name, bool* output) const
@@ -243,13 +239,13 @@ protocol::Value* DictionaryValue::get(const String16& name) const
Dictionary::const_iterator it = m_data.find(name);
if (it == m_data.end())
return nullptr;
- return it->second;
+ return it->second.get();
}
DictionaryValue::Entry DictionaryValue::at(size_t index) const
{
- String16 key = m_order[index];
- return std::make_pair(key, m_data.get(key));
+ const String16 key = m_order[index];
+ return std::make_pair(key, m_data.find(key)->second.get());
}
bool DictionaryValue::booleanProperty(const String16& name, bool defaultValue) const
@@ -268,13 +264,8 @@ double DictionaryValue::numberProperty(const String16& name, double defaultValue
void DictionaryValue::remove(const String16& name)
{
- m_data.remove(name);
- for (size_t i = 0; i < m_order.size(); ++i) {
- if (m_order[i] == name) {
- m_order.remove(i);
- break;
- }
- }
+ m_data.erase(name);
+ m_order.erase(std::remove(m_order.begin(), m_order.end(), name), m_order.end());
}
void DictionaryValue::writeJSON(String16Builder* output) const
@@ -297,9 +288,9 @@ std::unique_ptr<Value> DictionaryValue::clone() const
std::unique_ptr<DictionaryValue> result = DictionaryValue::create();
for (size_t i = 0; i < m_order.size(); ++i) {
String16 key = m_order[i];
- Value* value = m_data.get(key);
- DCHECK(value);
- result->setValue(key, value->clone());
+ Dictionary::const_iterator value = m_data.find(key);
+ DCHECK(value != m_data.cend() && value->second);
+ result->setValue(key, value->second->clone());
}
return std::move(result);
}
@@ -316,10 +307,12 @@ ListValue::~ListValue()
void ListValue::writeJSON(String16Builder* output) const
{
output->append('[');
- for (Vector<std::unique_ptr<protocol::Value>>::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
- if (it != m_data.begin())
+ bool first = true;
+ for (const std::unique_ptr<protocol::Value>& value : m_data) {
+ if (!first)
output->append(',');
- (*it)->writeJSON(output);
+ value->writeJSON(output);
+ first = false;
}
output->append(']');
}
@@ -327,8 +320,8 @@ void ListValue::writeJSON(String16Builder* output) const
std::unique_ptr<Value> ListValue::clone() const
{
std::unique_ptr<ListValue> result = ListValue::create();
- for (Vector<std::unique_ptr<protocol::Value>>::const_iterator it = m_data.begin(); it != m_data.end(); ++it)
- result->pushValue((*it)->clone());
+ for (const std::unique_ptr<protocol::Value>& value : m_data)
+ result->pushValue(value->clone());
return std::move(result);
}
@@ -340,13 +333,13 @@ ListValue::ListValue()
void ListValue::pushValue(std::unique_ptr<protocol::Value> value)
{
DCHECK(value);
- m_data.append(std::move(value));
+ m_data.push_back(std::move(value));
}
protocol::Value* ListValue::at(size_t index)
{
DCHECK_LT(index, m_data.size());
- return m_data[index];
+ return m_data[index].get();
}
} // namespace protocol

Powered by Google App Engine
This is Rietveld 408576698