| Index: third_party/WebKit/Source/platform/JSONValues.cpp
|
| diff --git a/third_party/WebKit/Source/platform/JSONValues.cpp b/third_party/WebKit/Source/platform/JSONValues.cpp
|
| index 86f642cf6b77490ea7cd5a98e870cabbd5a0986d..65e645136670769334ef0cf076c1ac1dfaa0357d 100644
|
| --- a/third_party/WebKit/Source/platform/JSONValues.cpp
|
| +++ b/third_party/WebKit/Source/platform/JSONValues.cpp
|
| @@ -263,24 +263,24 @@ void JSONObject::setString(const String& name, const String& value)
|
| setValue(name, JSONString::create(value));
|
| }
|
|
|
| -void JSONObject::setValue(const String& name, PassRefPtr<JSONValue> value)
|
| +void JSONObject::setValue(const String& name, std::unique_ptr<JSONValue> value)
|
| {
|
| ASSERT(value);
|
| - if (m_data.set(name, value).isNewEntry)
|
| + if (m_data.set(name, std::move(value)).isNewEntry)
|
| m_order.append(name);
|
| }
|
|
|
| -void JSONObject::setObject(const String& name, PassRefPtr<JSONObject> value)
|
| +void JSONObject::setObject(const String& name, std::unique_ptr<JSONObject> value)
|
| {
|
| ASSERT(value);
|
| - if (m_data.set(name, value).isNewEntry)
|
| + if (m_data.set(name, std::move(value)).isNewEntry)
|
| m_order.append(name);
|
| }
|
|
|
| -void JSONObject::setArray(const String& name, PassRefPtr<JSONArray> value)
|
| +void JSONObject::setArray(const String& name, std::unique_ptr<JSONArray> value)
|
| {
|
| ASSERT(value);
|
| - if (m_data.set(name, value).isNewEntry)
|
| + if (m_data.set(name, std::move(value)).isNewEntry)
|
| m_order.append(name);
|
| }
|
|
|
| @@ -296,7 +296,7 @@ JSONObject::const_iterator JSONObject::find(const String& name) const
|
|
|
| bool JSONObject::getBoolean(const String& name, bool* output) const
|
| {
|
| - RefPtr<JSONValue> value = get(name);
|
| + JSONValue* value = get(name);
|
| if (!value)
|
| return false;
|
| return value->asBoolean(output);
|
| @@ -304,28 +304,28 @@ bool JSONObject::getBoolean(const String& name, bool* output) const
|
|
|
| bool JSONObject::getString(const String& name, String* output) const
|
| {
|
| - RefPtr<JSONValue> value = get(name);
|
| + JSONValue* value = get(name);
|
| if (!value)
|
| return false;
|
| return value->asString(output);
|
| }
|
|
|
| -PassRefPtr<JSONObject> JSONObject::getObject(const String& name) const
|
| +JSONObject* JSONObject::getObject(const String& name) const
|
| {
|
| return JSONObject::cast(get(name));
|
| }
|
|
|
| -PassRefPtr<JSONArray> JSONObject::getArray(const String& name) const
|
| +JSONArray* JSONObject::getArray(const String& name) const
|
| {
|
| return JSONArray::cast(get(name));
|
| }
|
|
|
| -PassRefPtr<JSONValue> JSONObject::get(const String& name) const
|
| +JSONValue* JSONObject::get(const String& name) const
|
| {
|
| Dictionary::const_iterator it = m_data.find(name);
|
| if (it == m_data.end())
|
| return nullptr;
|
| - return it->value;
|
| + return it->value.get();
|
| }
|
|
|
| bool JSONObject::booleanProperty(const String& name, bool defaultValue) const
|
| @@ -392,22 +392,25 @@ JSONArray::~JSONArray()
|
|
|
| void JSONArray::writeJSON(StringBuilder* output) const
|
| {
|
| + size_t valuesCount = m_data.size();
|
| output->append('[');
|
| - for (Vector<RefPtr<JSONValue>>::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
|
| - if (it != m_data.begin())
|
| + for (size_t i = 0; i < valuesCount; ++i) {
|
| + if (i > 0)
|
| output->append(',');
|
| - (*it)->writeJSON(output);
|
| + get(i)->writeJSON(output);
|
| }
|
| output->append(']');
|
| }
|
|
|
| void JSONArray::prettyWriteJSONInternal(StringBuilder* output, int depth) const
|
| {
|
| + size_t valuesCount = m_data.size();
|
| output->append('[');
|
| bool lastInsertedNewLine = false;
|
| - for (Vector<RefPtr<JSONValue>>::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
|
| - bool insertNewLine = (*it)->getType() == JSONValue::TypeObject || (*it)->getType() == JSONValue::TypeArray || (*it)->getType() == JSONValue::TypeString;
|
| - if (it == m_data.begin()) {
|
| + for (size_t i = 0; i < valuesCount; ++i) {
|
| + JSONValue* value = get(i);
|
| + bool insertNewLine = value->getType() == JSONValue::TypeObject || value->getType() == JSONValue::TypeArray || value->getType() == JSONValue::TypeString;
|
| + if (i == 0) {
|
| if (insertNewLine) {
|
| output->append('\n');
|
| writeIndent(depth + 1, output);
|
| @@ -421,7 +424,7 @@ void JSONArray::prettyWriteJSONInternal(StringBuilder* output, int depth) const
|
| output->append(' ');
|
| }
|
| }
|
| - (*it)->prettyWriteJSONInternal(output, depth + 1);
|
| + value->prettyWriteJSONInternal(output, depth + 1);
|
| lastInsertedNewLine = insertNewLine;
|
| }
|
| if (lastInsertedNewLine) {
|
| @@ -457,28 +460,28 @@ void JSONArray::pushString(const String& value)
|
| m_data.append(JSONString::create(value));
|
| }
|
|
|
| -void JSONArray::pushValue(PassRefPtr<JSONValue> value)
|
| +void JSONArray::pushValue(std::unique_ptr<JSONValue> value)
|
| {
|
| ASSERT(value);
|
| - m_data.append(value);
|
| + m_data.append(std::move(value));
|
| }
|
|
|
| -void JSONArray::pushObject(PassRefPtr<JSONObject> value)
|
| +void JSONArray::pushObject(std::unique_ptr<JSONObject> value)
|
| {
|
| ASSERT(value);
|
| - m_data.append(value);
|
| + m_data.append(std::move(value));
|
| }
|
|
|
| -void JSONArray::pushArray(PassRefPtr<JSONArray> value)
|
| +void JSONArray::pushArray(std::unique_ptr<JSONArray> value)
|
| {
|
| ASSERT(value);
|
| - m_data.append(value);
|
| + m_data.append(std::move(value));
|
| }
|
|
|
| -PassRefPtr<JSONValue> JSONArray::get(size_t index)
|
| +JSONValue* JSONArray::get(size_t index) const
|
| {
|
| ASSERT_WITH_SECURITY_IMPLICATION(index < m_data.size());
|
| - return m_data[index];
|
| + return m_data[index].get();
|
| }
|
|
|
| } // namespace blink
|
|
|