| 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() {
 | 
| 
 |