| Index: base/json/json_parser.cc
|
| diff --git a/base/json/json_parser.cc b/base/json/json_parser.cc
|
| index 36e9dcac736938c2e568fbe00c66dea8803f80b0..83cf64996fe0e4acd9a3f2cef78ae64745541cde 100644
|
| --- a/base/json/json_parser.cc
|
| +++ b/base/json/json_parser.cc
|
| @@ -467,11 +467,11 @@ bool JSONParser::EatComment() {
|
| return false;
|
| }
|
|
|
| -Value* JSONParser::ParseNextToken() {
|
| +std::unique_ptr<Value> JSONParser::ParseNextToken() {
|
| return ParseToken(GetNextToken());
|
| }
|
|
|
| -Value* JSONParser::ParseToken(Token token) {
|
| +std::unique_ptr<Value> JSONParser::ParseToken(Token token) {
|
| switch (token) {
|
| case T_OBJECT_BEGIN:
|
| return ConsumeDictionary();
|
| @@ -491,7 +491,7 @@ Value* JSONParser::ParseToken(Token token) {
|
| }
|
| }
|
|
|
| -Value* JSONParser::ConsumeDictionary() {
|
| +std::unique_ptr<Value> JSONParser::ConsumeDictionary() {
|
| if (*pos_ != '{') {
|
| ReportError(JSONReader::JSON_UNEXPECTED_TOKEN, 1);
|
| return nullptr;
|
| @@ -529,13 +529,13 @@ Value* JSONParser::ConsumeDictionary() {
|
|
|
| // The next token is the value. Ownership transfers to |dict|.
|
| NextChar();
|
| - Value* value = ParseNextToken();
|
| + std::unique_ptr<Value> value = ParseNextToken();
|
| if (!value) {
|
| // ReportError from deeper level.
|
| return nullptr;
|
| }
|
|
|
| - dict->SetWithoutPathExpansion(key.AsString(), value);
|
| + dict->SetWithoutPathExpansion(key.AsString(), std::move(value));
|
|
|
| NextChar();
|
| token = GetNextToken();
|
| @@ -552,10 +552,10 @@ Value* JSONParser::ConsumeDictionary() {
|
| }
|
| }
|
|
|
| - return dict.release();
|
| + return std::move(dict);
|
| }
|
|
|
| -Value* JSONParser::ConsumeList() {
|
| +std::unique_ptr<Value> JSONParser::ConsumeList() {
|
| if (*pos_ != '[') {
|
| ReportError(JSONReader::JSON_UNEXPECTED_TOKEN, 1);
|
| return nullptr;
|
| @@ -572,13 +572,13 @@ Value* JSONParser::ConsumeList() {
|
| NextChar();
|
| Token token = GetNextToken();
|
| while (token != T_ARRAY_END) {
|
| - Value* item = ParseToken(token);
|
| + std::unique_ptr<Value> item = ParseToken(token);
|
| if (!item) {
|
| // ReportError from deeper level.
|
| return nullptr;
|
| }
|
|
|
| - list->Append(item);
|
| + list->Append(std::move(item));
|
|
|
| NextChar();
|
| token = GetNextToken();
|
| @@ -595,10 +595,10 @@ Value* JSONParser::ConsumeList() {
|
| }
|
| }
|
|
|
| - return list.release();
|
| + return std::move(list);
|
| }
|
|
|
| -Value* JSONParser::ConsumeString() {
|
| +std::unique_ptr<Value> JSONParser::ConsumeString() {
|
| StringBuilder string;
|
| if (!ConsumeStringRaw(&string))
|
| return nullptr;
|
| @@ -606,11 +606,11 @@ Value* JSONParser::ConsumeString() {
|
| // Create the Value representation, using a hidden root, if configured
|
| // to do so, and if the string can be represented by StringPiece.
|
| if (string.CanBeStringPiece() && !(options_ & JSON_DETACHABLE_CHILDREN))
|
| - return new JSONStringValue(string.AsStringPiece());
|
| + return base::MakeUnique<JSONStringValue>(string.AsStringPiece());
|
|
|
| if (string.CanBeStringPiece())
|
| string.Convert();
|
| - return new StringValue(string.AsString());
|
| + return base::MakeUnique<StringValue>(string.AsString());
|
| }
|
|
|
| bool JSONParser::ConsumeStringRaw(StringBuilder* out) {
|
| @@ -827,7 +827,7 @@ void JSONParser::DecodeUTF8(const int32_t& point, StringBuilder* dest) {
|
| }
|
| }
|
|
|
| -Value* JSONParser::ConsumeNumber() {
|
| +std::unique_ptr<Value> JSONParser::ConsumeNumber() {
|
| const char* num_start = pos_;
|
| const int start_index = index_;
|
| int end_index = start_index;
|
| @@ -892,12 +892,12 @@ Value* JSONParser::ConsumeNumber() {
|
|
|
| int num_int;
|
| if (StringToInt(num_string, &num_int))
|
| - return new FundamentalValue(num_int);
|
| + return base::MakeUnique<FundamentalValue>(num_int);
|
|
|
| double num_double;
|
| if (StringToDouble(num_string.as_string(), &num_double) &&
|
| std::isfinite(num_double)) {
|
| - return new FundamentalValue(num_double);
|
| + return base::MakeUnique<FundamentalValue>(num_double);
|
| }
|
|
|
| return nullptr;
|
| @@ -922,7 +922,7 @@ bool JSONParser::ReadInt(bool allow_leading_zeros) {
|
| return true;
|
| }
|
|
|
| -Value* JSONParser::ConsumeLiteral() {
|
| +std::unique_ptr<Value> JSONParser::ConsumeLiteral() {
|
| switch (*pos_) {
|
| case 't': {
|
| const char kTrueLiteral[] = "true";
|
| @@ -933,7 +933,7 @@ Value* JSONParser::ConsumeLiteral() {
|
| return nullptr;
|
| }
|
| NextNChars(kTrueLen - 1);
|
| - return new FundamentalValue(true);
|
| + return base::MakeUnique<FundamentalValue>(true);
|
| }
|
| case 'f': {
|
| const char kFalseLiteral[] = "false";
|
| @@ -944,7 +944,7 @@ Value* JSONParser::ConsumeLiteral() {
|
| return nullptr;
|
| }
|
| NextNChars(kFalseLen - 1);
|
| - return new FundamentalValue(false);
|
| + return base::MakeUnique<FundamentalValue>(false);
|
| }
|
| case 'n': {
|
| const char kNullLiteral[] = "null";
|
| @@ -955,7 +955,7 @@ Value* JSONParser::ConsumeLiteral() {
|
| return nullptr;
|
| }
|
| NextNChars(kNullLen - 1);
|
| - return Value::CreateNullValue().release();
|
| + return Value::CreateNullValue();
|
| }
|
| default:
|
| ReportError(JSONReader::JSON_UNEXPECTED_TOKEN, 1);
|
|
|