Skip to content

Commit 2638c82

Browse files
base::Value modernisation for ConfirmationStateManager
This changes removes the use of base::ListValue, and base::DictionaryValue, as well as of the deprecated base::Value interface for ConfirmationStateManager, and all its associated dependencies, in favour of statically-typed interfaces.
1 parent af7b3d0 commit 2638c82

15 files changed

+207
-310
lines changed

vendor/bat-native-ads/src/bat/ads/internal/account/issuers/issuers_json_reader.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ absl::optional<IssuersInfo> ReadIssuers(const std::string& json) {
2626
}
2727
const int ping = ping_optional.value();
2828

29-
const absl::optional<IssuerList>& issuers_optional = ParseIssuers(*value);
29+
const absl::optional<IssuerList>& issuers_optional =
30+
ParseIssuers(value->GetDict());
3031
if (!issuers_optional) {
3132
return absl::nullopt;
3233
}

vendor/bat-native-ads/src/bat/ads/internal/account/issuers/issuers_json_reader_util.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
#include "bat/ads/internal/account/issuers/issuers_json_reader_util.h"
77

8-
#include "base/values.h"
98
#include "bat/ads/internal/account/issuers/issuers_value_util.h"
109

1110
namespace ads {
@@ -22,8 +21,8 @@ absl::optional<int> ParsePing(const base::Value& value) {
2221
return value.FindIntKey(kPingKey);
2322
}
2423

25-
absl::optional<IssuerList> ParseIssuers(const base::Value& value) {
26-
const base::Value* const issuers_value = value.FindListKey(kIssuersKey);
24+
absl::optional<IssuerList> ParseIssuers(const base::Value::Dict& value) {
25+
const base::Value::List* issuers_value = value.FindList(kIssuersKey);
2726
if (!issuers_value) {
2827
return absl::nullopt;
2928
}

vendor/bat-native-ads/src/bat/ads/internal/account/issuers/issuers_json_reader_util.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,15 @@
66
#ifndef BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_ISSUERS_ISSUERS_JSON_READER_UTIL_H_
77
#define BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_ISSUERS_ISSUERS_JSON_READER_UTIL_H_
88

9+
#include "base/values.h"
910
#include "bat/ads/internal/account/issuers/issuer_info.h"
1011
#include "third_party/abseil-cpp/absl/types/optional.h"
1112

12-
namespace base {
13-
class Value;
14-
} // namespace base
15-
1613
namespace ads {
1714
namespace JSONReader {
1815

1916
absl::optional<int> ParsePing(const base::Value& value);
20-
absl::optional<IssuerList> ParseIssuers(const base::Value& value);
17+
absl::optional<IssuerList> ParseIssuers(const base::Value::Dict& value);
2118

2219
} // namespace JSONReader
2320
} // namespace ads

vendor/bat-native-ads/src/bat/ads/internal/account/issuers/issuers_value_util.cc

Lines changed: 30 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#include "base/check_op.h"
1313
#include "base/notreached.h"
1414
#include "base/strings/string_number_conversions.h"
15-
#include "base/values.h"
1615
#include "bat/ads/internal/account/issuers/issuer_types.h"
1716
#include "bat/ads/internal/account/issuers/public_key_alias.h"
1817

@@ -48,8 +47,8 @@ absl::optional<std::string> GetNameForIssuerType(const IssuerType type) {
4847
return absl::nullopt;
4948
}
5049

51-
absl::optional<IssuerType> ParseIssuerType(const base::Value& value) {
52-
const std::string* const name = value.FindStringKey(kNameKey);
50+
absl::optional<IssuerType> ParseIssuerType(const base::Value::Dict& value) {
51+
const std::string* const name = value.FindString(kNameKey);
5352
if (!name) {
5453
return absl::nullopt;
5554
}
@@ -65,27 +64,27 @@ absl::optional<IssuerType> ParseIssuerType(const base::Value& value) {
6564
return absl::nullopt;
6665
}
6766

68-
absl::optional<PublicKeyMap> ParsePublicKeys(const base::Value& value) {
69-
const base::Value* const public_keys_value =
70-
value.FindListKey(kPublicKeysKey);
67+
absl::optional<PublicKeyMap> ParsePublicKeys(const base::Value::Dict& value) {
68+
const base::Value::List* const public_keys_value =
69+
value.FindList(kPublicKeysKey);
7170
if (!public_keys_value) {
7271
return absl::nullopt;
7372
}
7473

7574
PublicKeyMap public_keys;
76-
for (const auto& public_key_value : public_keys_value->GetList()) {
75+
for (const auto& public_key_value : *public_keys_value) {
7776
if (!public_key_value.is_dict()) {
7877
return absl::nullopt;
7978
}
79+
const base::Value::Dict& dict = public_key_value.GetDict();
8080

81-
const std::string* const public_key =
82-
public_key_value.FindStringKey(kPublicKeyKey);
81+
const std::string* const public_key = dict.FindString(kPublicKeyKey);
8382
if (!public_key) {
8483
return absl::nullopt;
8584
}
8685

8786
const std::string* const associated_value =
88-
public_key_value.FindStringKey(kAssociatedValueKey);
87+
dict.FindString(kAssociatedValueKey);
8988
if (!associated_value) {
9089
return absl::nullopt;
9190
}
@@ -100,62 +99,51 @@ absl::optional<PublicKeyMap> ParsePublicKeys(const base::Value& value) {
10099

101100
} // namespace
102101

103-
base::Value IssuerListToValue(const IssuerList& issuers) {
104-
base::Value issuers_list(base::Value::Type::LIST);
102+
base::Value::List IssuerListToValue(const IssuerList& issuers) {
103+
base::Value::List list;
105104

106105
for (const auto& issuer : issuers) {
107-
base::Value issuer_dictionary(base::Value::Type::DICTIONARY);
108-
109-
const absl::optional<std::string>& name_optional =
110-
GetNameForIssuerType(issuer.type);
111-
if (!name_optional) {
106+
const absl::optional<std::string>& name = GetNameForIssuerType(issuer.type);
107+
if (!name) {
112108
continue;
113109
}
114-
const std::string& name = name_optional.value();
115110

116-
issuer_dictionary.SetStringKey(kNameKey, name);
111+
base::Value::Dict dict;
112+
dict.Set(kNameKey, *name);
117113

118-
base::Value public_keys_list(base::Value::Type::LIST);
114+
base::Value::List public_keys;
119115
for (const auto& public_key : issuer.public_keys) {
120-
base::Value public_key_dictionary(base::Value::Type::DICTIONARY);
121-
122-
public_key_dictionary.SetStringKey(kPublicKeyKey, public_key.first);
123-
124-
public_key_dictionary.SetStringKey(
125-
kAssociatedValueKey, base::NumberToString(public_key.second));
126-
127-
public_keys_list.Append(std::move(public_key_dictionary));
116+
base::Value::Dict public_key_dict;
117+
public_key_dict.Set(kPublicKeyKey, public_key.first);
118+
public_key_dict.Set(kAssociatedValueKey,
119+
base::NumberToString(public_key.second));
120+
public_keys.Append(std::move(public_key_dict));
128121
}
129-
issuer_dictionary.SetKey(kPublicKeysKey, std::move(public_keys_list));
130-
131-
issuers_list.Append(std::move(issuer_dictionary));
122+
dict.Set(kPublicKeysKey, std::move(public_keys));
123+
list.Append(std::move(dict));
132124
}
133125

134-
return issuers_list;
126+
return list;
135127
}
136128

137-
absl::optional<IssuerList> ValueToIssuerList(const base::Value& value) {
138-
if (!value.is_list()) {
139-
return absl::nullopt;
140-
}
141-
129+
absl::optional<IssuerList> ValueToIssuerList(const base::Value::List& value) {
142130
IssuerList issuers;
143131

144-
for (const auto& issuer_value : value.GetList()) {
145-
if (!issuer_value.is_dict()) {
132+
for (const auto& item : value) {
133+
if (!item.is_dict()) {
146134
return absl::nullopt;
147135
}
148136

149-
const absl::optional<IssuerType>& type_optional =
150-
ParseIssuerType(issuer_value);
137+
const base::Value::Dict& dict = item.GetDict();
138+
const absl::optional<IssuerType>& type_optional = ParseIssuerType(dict);
151139
if (!type_optional) {
152140
return absl::nullopt;
153141
}
154142
const IssuerType& type = type_optional.value();
155143
DCHECK_NE(IssuerType::kUndefined, type);
156144

157145
const absl::optional<PublicKeyMap>& public_keys_optional =
158-
ParsePublicKeys(issuer_value);
146+
ParsePublicKeys(dict);
159147
if (!public_keys_optional) {
160148
return absl::nullopt;
161149
}

vendor/bat-native-ads/src/bat/ads/internal/account/issuers/issuers_value_util.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,14 @@
66
#ifndef BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_ISSUERS_ISSUERS_VALUE_UTIL_H_
77
#define BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_ISSUERS_ISSUERS_VALUE_UTIL_H_
88

9+
#include "base/values.h"
910
#include "bat/ads/internal/account/issuers/issuer_info.h"
1011
#include "third_party/abseil-cpp/absl/types/optional.h"
1112

12-
namespace base {
13-
class Value;
14-
} // namespace base
15-
1613
namespace ads {
1714

18-
base::Value IssuerListToValue(const IssuerList& issuers);
19-
absl::optional<IssuerList> ValueToIssuerList(const base::Value& value);
15+
base::Value::List IssuerListToValue(const IssuerList& issuers);
16+
absl::optional<IssuerList> ValueToIssuerList(const base::Value::List& value);
2017

2118
} // namespace ads
2219

0 commit comments

Comments
 (0)