Index: base/json/json_parser.cc |
diff --git a/base/json/json_parser.cc b/base/json/json_parser.cc |
index a91038cee986b4bb02a4a1d9c41923c9a92998a2..be7d21dbb343d7a7afd1f2f24651073e1702ef61 100644 |
--- a/base/json/json_parser.cc |
+++ b/base/json/json_parser.cc |
@@ -344,7 +344,7 @@ std::unique_ptr<Value> JSONParser::ConsumeDictionary() { |
return nullptr; |
} |
- std::unique_ptr<DictionaryValue> dict(new DictionaryValue); |
+ std::vector<Value::DictStorage::value_type> dict_storage; |
NextChar(); |
Token token = GetNextToken(); |
@@ -376,7 +376,7 @@ std::unique_ptr<Value> JSONParser::ConsumeDictionary() { |
return nullptr; |
} |
- dict->SetWithoutPathExpansion(key.AsStringPiece(), std::move(value)); |
+ dict_storage.emplace_back(key.DestructiveAsString(), std::move(value)); |
NextChar(); |
token = GetNextToken(); |
@@ -393,7 +393,8 @@ std::unique_ptr<Value> JSONParser::ConsumeDictionary() { |
} |
} |
- return std::move(dict); |
+ return MakeUnique<Value>( |
+ Value::DictStorage(std::move(dict_storage), KEEP_LAST_OF_DUPES)); |
} |
std::unique_ptr<Value> JSONParser::ConsumeList() { |