Update base::Value usage in components/translate/core/browser/.
In particular, use Value::List and Value::Dict to manipulate Lists and
Dicts, instead of deprecated APIs (Creating them from ListStorage,
GetListDeprecated(), Value::SetKey(), Value::FindKey(), etc).
Bug: 1187001, 1338341
Change-Id: I2a69c336b96f30c56468db12d9dd4551bc4c94ec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3763047
Reviewed-by: Trevor Perrier <perrier@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1025967}
diff --git a/components/translate/core/browser/translate_infobar_delegate_unittest.cc b/components/translate/core/browser/translate_infobar_delegate_unittest.cc
index f386fcc1..a73724e 100644
--- a/components/translate/core/browser/translate_infobar_delegate_unittest.cc
+++ b/components/translate/core/browser/translate_infobar_delegate_unittest.cc
@@ -222,15 +222,14 @@
TEST_F(TranslateInfoBarDelegateTest, ShouldAutoAlwaysTranslate) {
DictionaryPrefUpdate update_translate_accepted_count(
pref_service_.get(), TranslatePrefs::kPrefTranslateAcceptedCount);
- base::Value* update_translate_accepted_dict =
- update_translate_accepted_count.Get();
- update_translate_accepted_dict->SetIntKey(kSourceLanguage,
- kAutoAlwaysThreshold + 1);
+ base::Value::Dict& update_translate_accepted_dict =
+ update_translate_accepted_count->GetDict();
+ update_translate_accepted_dict.Set(kSourceLanguage, kAutoAlwaysThreshold + 1);
- const base::Value* dict = pref_service_->GetDictionary(
+ const base::Value::Dict* dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoAlwaysCount);
absl::optional<int> translate_auto_always_count =
- dict->FindIntKey(kSourceLanguage);
+ dict->FindInt(kSourceLanguage);
EXPECT_FALSE(translate_auto_always_count.has_value());
TranslateInfoBarDelegate::Create(
@@ -244,28 +243,28 @@
EXPECT_TRUE(delegate->ShouldAutoAlwaysTranslate());
absl::optional<int> count =
- update_translate_accepted_dict->FindIntKey(kSourceLanguage);
+ update_translate_accepted_dict.FindInt(kSourceLanguage);
EXPECT_EQ(absl::optional<int>(0), count);
// Get the dictionary again in order to update it.
- dict = pref_service_->GetDictionary(
+ dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoAlwaysCount);
- translate_auto_always_count = dict->FindIntKey(kSourceLanguage);
+ translate_auto_always_count = dict->FindInt(kSourceLanguage);
EXPECT_EQ(absl::optional<int>(1), translate_auto_always_count);
}
TEST_F(TranslateInfoBarDelegateTest, ShouldNotAutoAlwaysTranslateUnknown) {
DictionaryPrefUpdate update_translate_accepted_count(
pref_service_.get(), TranslatePrefs::kPrefTranslateAcceptedCount);
- base::Value* update_translate_accepted_dict =
- update_translate_accepted_count.Get();
+ base::Value::Dict& update_translate_accepted_dict =
+ update_translate_accepted_count->GetDict();
// Should not trigger auto always translate for unknown source language.
- update_translate_accepted_dict->SetIntKey(kUnknownLanguageCode,
- kAutoAlwaysThreshold + 1);
+ update_translate_accepted_dict.Set(kUnknownLanguageCode,
+ kAutoAlwaysThreshold + 1);
- const base::Value* dict = pref_service_->GetDictionary(
+ const base::Value::Dict* dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoAlwaysCount);
absl::optional<int> translate_auto_always_count =
- dict->FindIntKey(kUnknownLanguageCode);
+ dict->FindInt(kUnknownLanguageCode);
EXPECT_FALSE(translate_auto_always_count.has_value());
TranslateInfoBarDelegate::Create(
@@ -279,13 +278,13 @@
EXPECT_FALSE(delegate->ShouldAutoAlwaysTranslate());
absl::optional<int> count =
- update_translate_accepted_dict->FindIntKey(kSourceLanguage);
+ update_translate_accepted_dict.FindInt(kSourceLanguage);
// Always translate not triggered, so count should be unchanged.
EXPECT_FALSE(count.has_value());
// Get the dictionary again in order to update it.
- dict = pref_service_->GetDictionary(
+ dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoAlwaysCount);
- translate_auto_always_count = dict->FindIntKey(kUnknownLanguageCode);
+ translate_auto_always_count = dict->FindInt(kUnknownLanguageCode);
EXPECT_FALSE(translate_auto_always_count.has_value());
}
@@ -312,15 +311,15 @@
DictionaryPrefUpdate update_translate_denied_count(
pref_service_.get(), TranslatePrefs::kPrefTranslateDeniedCount);
- base::Value* update_translate_denied_dict =
- update_translate_denied_count.Get();
+ base::Value::Dict& update_translate_denied_dict =
+ update_translate_denied_count->GetDict();
// 21 = kAutoNeverThreshold + 1
- update_translate_denied_dict->SetIntKey(kSourceLanguage, 21);
+ update_translate_denied_dict.Set(kSourceLanguage, 21);
- const base::Value* dict = pref_service_->GetDictionary(
+ const base::Value::Dict* dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoNeverCount);
absl::optional<int> translate_auto_never_count =
- dict->FindIntKey(kSourceLanguage);
+ dict->FindInt(kSourceLanguage);
ASSERT_FALSE(translate_auto_never_count.has_value());
TranslateInfoBarDelegate::Create(
@@ -334,12 +333,12 @@
EXPECT_TRUE(delegate->ShouldAutoNeverTranslate());
absl::optional<int> count =
- update_translate_denied_dict->FindIntKey(kSourceLanguage);
+ update_translate_denied_dict.FindInt(kSourceLanguage);
EXPECT_EQ(absl::optional<int>(0), count);
// Get the dictionary again in order to update it.
- dict = pref_service_->GetDictionary(
+ dict = &pref_service_->GetValueDict(
TranslatePrefs::kPrefTranslateAutoNeverCount);
- translate_auto_never_count = dict->FindIntKey(kSourceLanguage);
+ translate_auto_never_count = dict->FindInt(kSourceLanguage);
ASSERT_EQ(absl::optional<int>(1), translate_auto_never_count);
}
diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc
index 3fa7ac4..048b9f94 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -86,25 +86,25 @@
// pref. This function will avoid merging values from the old pref that seem to
// conflict with values already present in the new pref.
void MigrateObsoleteAlwaysTranslateLanguagesPref(PrefService* prefs) {
- const base::Value* deprecated_dictionary = prefs->GetUserPrefValue(
- TranslatePrefs::kPrefAlwaysTranslateListDeprecated);
+ const base::Value::Dict& deprecated_dictionary =
+ prefs->GetValueDict(TranslatePrefs::kPrefAlwaysTranslateListDeprecated);
// Migration is performed only once per client, since the deprecated pref is
// cleared after migration. This will make subsequent calls to migrate no-ops.
- if (!deprecated_dictionary)
+ if (deprecated_dictionary.empty())
return;
DictionaryPrefUpdate always_translate_dictionary_update(
prefs, prefs::kPrefAlwaysTranslateList);
- base::Value* always_translate_dictionary =
- always_translate_dictionary_update.Get();
+ base::Value::Dict& always_translate_dictionary =
+ always_translate_dictionary_update->GetDict();
- for (const auto old_language_pair : deprecated_dictionary->DictItems()) {
+ for (const auto old_language_pair : deprecated_dictionary) {
// If the old pref's language pair conflicts with any of the new pref's
// language pairs, where either the new pref already specifies behavior
// about always translating from or to the old source language, or always
// translating from the old target language, then skip merging this pair
// into the new pref.
- const auto& new_language_pairs = always_translate_dictionary->DictItems();
+ const auto& new_language_pairs = always_translate_dictionary;
if (std::any_of(new_language_pairs.begin(), new_language_pairs.end(),
[&old_language_pair](const auto& new_language_pair) {
return old_language_pair.first ==
@@ -121,7 +121,7 @@
// languages, it probably means that this source language was set to never
// be translated after the old pref was deprecated, so avoid this conflict.
const auto& never_translate_languages =
- prefs->GetList(prefs::kBlockedLanguages)->GetListDeprecated();
+ prefs->GetValueList(prefs::kBlockedLanguages);
if (std::any_of(
never_translate_languages.begin(), never_translate_languages.end(),
[&old_language_pair](const base::Value& never_translate_language) {
@@ -131,8 +131,8 @@
continue;
}
- always_translate_dictionary->SetStringKey(
- old_language_pair.first, old_language_pair.second.GetString());
+ always_translate_dictionary.Set(old_language_pair.first,
+ old_language_pair.second.GetString());
}
prefs->ClearPref(TranslatePrefs::kPrefAlwaysTranslateListDeprecated);
@@ -254,13 +254,13 @@
}
// static
-base::Value TranslatePrefs::GetDefaultBlockedLanguages() {
- typename base::Value::ListStorage languages;
+base::Value::List TranslatePrefs::GetDefaultBlockedLanguages() {
+ base::Value::List languages;
#if BUILDFLAG(IS_CHROMEOS_ASH)
// Preferred languages.
std::string language = language::kFallbackInputMethodLocale;
language::ToTranslateLanguageSynonym(&language);
- languages.push_back(base::Value(std::move(language)));
+ languages.Append(std::move(language));
#else
// Accept languages.
#pragma GCC diagnostic push
@@ -270,7 +270,7 @@
base::SplitString(l10n_util::GetStringUTF8(IDS_ACCEPT_LANGUAGES), ",",
base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) {
language::ToTranslateLanguageSynonym(&language);
- languages.push_back(base::Value(std::move(language)));
+ languages.Append(std::move(language));
// crbug.com/958348: The default value for Accept-Language *should* be the
// same as the one for Blocked Languages. However, Accept-Language contains
@@ -291,16 +291,15 @@
languages.erase(std::unique(languages.begin(), languages.end()),
languages.end());
- return base::Value(std::move(languages));
+ return languages;
}
bool TranslatePrefs::IsBlockedLanguage(base::StringPiece input_language) const {
std::string canonical_lang(input_language);
language::ToTranslateLanguageSynonym(&canonical_lang);
- const base::Value* blocked =
- prefs_->GetList(translate::prefs::kBlockedLanguages);
- return base::Contains(blocked->GetListDeprecated(),
- base::Value(std::move(canonical_lang)));
+ const base::Value::List& blocked =
+ prefs_->GetValueList(translate::prefs::kBlockedLanguages);
+ return base::Contains(blocked, base::Value(std::move(canonical_lang)));
}
void TranslatePrefs::BlockLanguage(base::StringPiece input_language) {
@@ -338,14 +337,11 @@
}
std::vector<std::string> TranslatePrefs::GetNeverTranslateLanguages() const {
- const base::Value* fluent_languages_value =
- prefs_->GetList(translate::prefs::kBlockedLanguages);
- if (!fluent_languages_value) {
- NOTREACHED() << "Fluent languages pref is unregistered";
- }
+ const base::Value::List& fluent_languages_value =
+ prefs_->GetValueList(translate::prefs::kBlockedLanguages);
std::vector<std::string> languages;
- for (const auto& language : fluent_languages_value->GetListDeprecated()) {
+ for (const auto& language : fluent_languages_value) {
std::string chrome_language(language.GetString());
language::ToChromeLanguageSynonym(&chrome_language);
languages.push_back(chrome_language);
@@ -615,29 +611,29 @@
}
bool TranslatePrefs::IsSiteOnNeverPromptList(base::StringPiece site) const {
- return prefs_->GetDictionary(kPrefNeverPromptSitesWithTime)->FindKey(site);
+ return prefs_->GetValueDict(kPrefNeverPromptSitesWithTime).Find(site);
}
void TranslatePrefs::AddSiteToNeverPromptList(base::StringPiece site) {
DCHECK(!site.empty());
AddValueToNeverPromptList(kPrefNeverPromptSitesDeprecated, site);
DictionaryPrefUpdate update(prefs_, kPrefNeverPromptSitesWithTime);
- update.Get()->SetKey(site, base::TimeToValue(base::Time::Now()));
+ update->GetDict().Set(site, base::TimeToValue(base::Time::Now()));
}
void TranslatePrefs::RemoveSiteFromNeverPromptList(base::StringPiece site) {
DCHECK(!site.empty());
RemoveValueFromNeverPromptList(kPrefNeverPromptSitesDeprecated, site);
DictionaryPrefUpdate update(prefs_, kPrefNeverPromptSitesWithTime);
- update.Get()->RemoveKey(site);
+ update->GetDict().Remove(site);
}
std::vector<std::string> TranslatePrefs::GetNeverPromptSitesBetween(
base::Time begin,
base::Time end) const {
std::vector<std::string> result;
- auto* dict = prefs_->GetDictionary(kPrefNeverPromptSitesWithTime);
- for (auto entry : dict->DictItems()) {
+ const auto& dict = prefs_->GetValueDict(kPrefNeverPromptSitesWithTime);
+ for (const auto entry : dict) {
absl::optional<base::Time> time = base::ValueToTime(entry.second);
if (!time) {
// Badly formatted preferences may be synced from the server, see
@@ -683,8 +679,7 @@
std::string translate_target_language(target_language);
language::ToTranslateLanguageSynonym(&translate_target_language);
- update.Get()->SetStringKey(translate_source_language,
- translate_target_language);
+ update->GetDict().Set(translate_source_language, translate_target_language);
// Remove source language from block list if present.
UnblockLanguage(translate_source_language);
}
@@ -749,16 +744,16 @@
void TranslatePrefs::IncrementTranslationDeniedCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateDeniedCount);
- base::Value* dict = update.Get();
+ base::Value::Dict& dict = update->GetDict();
- int count = dict->FindIntKey(language).value_or(0);
+ int count = dict.FindInt(language).value_or(0);
if (count < std::numeric_limits<int>::max())
- dict->SetIntKey(language, count + 1);
+ dict.Set(language, count + 1);
}
void TranslatePrefs::ResetTranslationDeniedCount(base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateDeniedCount);
- update.Get()->SetIntKey(language, 0);
+ update->GetDict().Set(language, 0);
}
int TranslatePrefs::GetTranslationIgnoredCount(
@@ -771,16 +766,16 @@
void TranslatePrefs::IncrementTranslationIgnoredCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateIgnoredCount);
- base::Value* dict = update.Get();
+ base::Value::Dict& dict = update->GetDict();
- int count = dict->FindIntKey(language).value_or(0);
+ int count = dict.FindInt(language).value_or(0);
if (count < std::numeric_limits<int>::max())
- dict->SetIntKey(language, count + 1);
+ dict.Set(language, count + 1);
}
void TranslatePrefs::ResetTranslationIgnoredCount(base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateIgnoredCount);
- update.Get()->SetIntKey(language, 0);
+ update->GetDict().Set(language, 0);
}
int TranslatePrefs::GetTranslationAcceptedCount(
@@ -793,16 +788,16 @@
void TranslatePrefs::IncrementTranslationAcceptedCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAcceptedCount);
- base::Value* dict = update.Get();
+ base::Value::Dict& dict = update->GetDict();
- int count = dict->FindIntKey(language).value_or(0);
+ int count = dict.FindInt(language).value_or(0);
if (count < std::numeric_limits<int>::max())
- dict->SetIntKey(language, count + 1);
+ dict.Set(language, count + 1);
}
void TranslatePrefs::ResetTranslationAcceptedCount(base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAcceptedCount);
- update.Get()->SetIntKey(language, 0);
+ update->GetDict().Set(language, 0);
}
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
@@ -816,17 +811,17 @@
void TranslatePrefs::IncrementTranslationAutoAlwaysCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
- base::Value* dict = update.Get();
+ base::Value::Dict& dict = update->GetDict();
- int count = dict->FindIntKey(language).value_or(0);
+ int count = dict.FindInt(language).value_or(0);
if (count < std::numeric_limits<int>::max())
- dict->SetIntKey(language, count + 1);
+ dict.Set(language, count + 1);
}
void TranslatePrefs::ResetTranslationAutoAlwaysCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
- update.Get()->SetIntKey(language, 0);
+ update->GetDict().Set(language, 0);
}
int TranslatePrefs::GetTranslationAutoNeverCount(
@@ -839,17 +834,17 @@
void TranslatePrefs::IncrementTranslationAutoNeverCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
- base::Value* dict = update.Get();
+ base::Value::Dict& dict = update->GetDict();
- int count = dict->FindIntKey(language).value_or(0);
+ int count = dict.FindInt(language).value_or(0);
if (count < std::numeric_limits<int>::max())
- dict->SetIntKey(language, count + 1);
+ dict.Set(language, count + 1);
}
void TranslatePrefs::ResetTranslationAutoNeverCount(
base::StringPiece language) {
DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
- update.Get()->SetIntKey(language, 0);
+ update->GetDict().Set(language, 0);
}
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
@@ -997,21 +992,19 @@
// make subsequent calls to migrate no-ops.
DictionaryPrefUpdate never_prompt_list_update(prefs_,
kPrefNeverPromptSitesWithTime);
- base::Value* never_prompt_list = never_prompt_list_update.Get();
- if (never_prompt_list) {
- ListPrefUpdate deprecated_prompt_list_update(
- prefs_, kPrefNeverPromptSitesDeprecated);
- base::Value* deprecated_list = deprecated_prompt_list_update.Get();
- for (auto& site : deprecated_list->GetListDeprecated()) {
- if (site.is_string() &&
- (!never_prompt_list->FindKey(site.GetString()) ||
- !base::ValueToTime(never_prompt_list->FindKey(site.GetString())))) {
- never_prompt_list->SetKey(site.GetString(),
- base::TimeToValue(base::Time::Now()));
- }
+ base::Value::Dict& never_prompt_list = never_prompt_list_update->GetDict();
+ ListPrefUpdate deprecated_prompt_list_update(prefs_,
+ kPrefNeverPromptSitesDeprecated);
+ base::Value::List& deprecated_list = deprecated_prompt_list_update->GetList();
+ for (auto& site : deprecated_list) {
+ if (site.is_string() &&
+ (!never_prompt_list.Find(site.GetString()) ||
+ !base::ValueToTime(never_prompt_list.Find(site.GetString())))) {
+ never_prompt_list.Set(site.GetString(),
+ base::TimeToValue(base::Time::Now()));
}
- deprecated_list->ClearList();
}
+ deprecated_list.clear();
}
// static
@@ -1034,11 +1027,8 @@
bool TranslatePrefs::IsValueOnNeverPromptList(const char* pref_id,
base::StringPiece value) const {
- const base::Value* never_prompt_list = prefs_->GetList(pref_id);
- if (!never_prompt_list)
- return false;
- for (const base::Value& value_in_list :
- never_prompt_list->GetListDeprecated()) {
+ const base::Value::List& never_prompt_list = prefs_->GetValueList(pref_id);
+ for (const base::Value& value_in_list : never_prompt_list) {
if (value_in_list.is_string() && value_in_list.GetString() == value)
return true;
}
@@ -1063,25 +1053,20 @@
void TranslatePrefs::RemoveValueFromNeverPromptList(const char* pref_id,
base::StringPiece value) {
ListPrefUpdate update(prefs_, pref_id);
- base::Value* never_prompt_list = update.Get();
- if (!never_prompt_list) {
- NOTREACHED() << "Unregistered never-translate pref";
- return;
- }
+ base::Value::List& never_prompt_list = update->GetList();
- auto list_view = never_prompt_list->GetListDeprecated();
- never_prompt_list->EraseListIter(std::find_if(
- list_view.begin(), list_view.end(),
+ auto value_to_erase = std::find_if(
+ never_prompt_list.begin(), never_prompt_list.end(),
[value](const base::Value& value_in_list) {
return value_in_list.is_string() && value_in_list.GetString() == value;
- }));
+ });
+ if (value_to_erase != never_prompt_list.end())
+ never_prompt_list.erase(value_to_erase);
}
size_t TranslatePrefs::GetListSize(const char* pref_id) const {
- const base::Value* never_prompt_list = prefs_->GetList(pref_id);
- return never_prompt_list == nullptr
- ? 0
- : never_prompt_list->GetListDeprecated().size();
+ const base::Value::List& never_prompt_list = prefs_->GetValueList(pref_id);
+ return never_prompt_list.size();
}
bool TranslatePrefs::IsDictionaryEmpty(const char* pref_id) const {
diff --git a/components/translate/core/browser/translate_prefs.h b/components/translate/core/browser/translate_prefs.h
index 86d8f16..c19a471 100644
--- a/components/translate/core/browser/translate_prefs.h
+++ b/components/translate/core/browser/translate_prefs.h
@@ -175,8 +175,8 @@
void BlockLanguage(base::StringPiece source_language);
void UnblockLanguage(base::StringPiece source_language);
// Returns the languages that should be blocked by default as a
- // base::(List)Value.
- static base::Value GetDefaultBlockedLanguages();
+ // base::Value::List.
+ static base::Value::List GetDefaultBlockedLanguages();
void ResetBlockedLanguagesToDefault();
// Prevent empty blocked languages by resetting them to the default value.
// (crbug.com/902354)
diff --git a/components/translate/core/browser/translate_prefs_unittest.cc b/components/translate/core/browser/translate_prefs_unittest.cc
index 9f69a8bcc..0eb6dcf 100644
--- a/components/translate/core/browser/translate_prefs_unittest.cc
+++ b/components/translate/core/browser/translate_prefs_unittest.cc
@@ -43,15 +43,13 @@
using ::testing::UnorderedElementsAreArray;
static void ExpectEqualLanguageLists(
- const base::Value& language_values,
+ const base::Value::List& language_values,
const std::vector<std::string>& languages) {
const int input_size = languages.size();
- base::Value::ConstListView language_values_view =
- language_values.GetListDeprecated();
- ASSERT_EQ(input_size, static_cast<int>(language_values_view.size()));
+ ASSERT_EQ(input_size, static_cast<int>(language_values.size()));
for (int i = 0; i < input_size; ++i) {
- ASSERT_TRUE(language_values_view[i].is_string());
- EXPECT_EQ(languages[i], language_values_view[i].GetString());
+ ASSERT_TRUE(language_values[i].is_string());
+ EXPECT_EQ(languages[i], language_values[i].GetString());
}
}
@@ -81,9 +79,9 @@
void ExpectBlockedLanguageListContent(
const std::vector<std::string>& list) const {
- const base::Value* const never_prompt_list =
- prefs_.GetList(prefs::kBlockedLanguages);
- ExpectEqualLanguageLists(*never_prompt_list, list);
+ const base::Value::List& never_prompt_list =
+ prefs_.GetValueList(prefs::kBlockedLanguages);
+ ExpectEqualLanguageLists(never_prompt_list, list);
}
// Returns a vector of language codes from the elements of the given
@@ -940,23 +938,21 @@
TranslatePrefs::kPrefNeverPromptSitesDeprecated, "unmigrated.com");
translate_prefs_->AddValueToNeverPromptList(
TranslatePrefs::kPrefNeverPromptSitesDeprecated, "migratedWrong.com");
- EXPECT_EQ(prefs_.Get(TranslatePrefs::kPrefNeverPromptSitesDeprecated)
- ->GetListDeprecated()
+ EXPECT_EQ(prefs_.GetValueList(TranslatePrefs::kPrefNeverPromptSitesDeprecated)
.size(),
2u);
// Also put one of those sites on the new pref but migrated incorrectly.
DictionaryPrefUpdate never_prompt_list_update(
&prefs_, TranslatePrefs::kPrefNeverPromptSitesWithTime);
- base::Value* never_prompt_list = never_prompt_list_update.Get();
- never_prompt_list->SetKey("migratedWrong.com", base::Value(0));
+ base::Value::Dict& never_prompt_list = never_prompt_list_update->GetDict();
+ never_prompt_list.Set("migratedWrong.com", 0);
// Now migrate and fix the prefs.
translate_prefs_->MigrateNeverPromptSites();
EXPECT_THAT(translate_prefs_->GetNeverPromptSitesBetween(
base::Time::Now() - base::Days(1), base::Time::Max()),
ElementsAre("migratedWrong.com", "unmigrated.com"));
- EXPECT_EQ(prefs_.Get(TranslatePrefs::kPrefNeverPromptSitesDeprecated)
- ->GetListDeprecated()
+ EXPECT_EQ(prefs_.GetValueList(TranslatePrefs::kPrefNeverPromptSitesDeprecated)
.size(),
0u);
}
@@ -966,11 +962,11 @@
// Add sites with invalid times.
DictionaryPrefUpdate never_prompt_list_update(
&prefs_, TranslatePrefs::kPrefNeverPromptSitesWithTime);
- base::Value* never_prompt_list = never_prompt_list_update.Get();
- never_prompt_list->SetKey("not-a-string.com", base::Value(0));
- never_prompt_list->SetKey("not-a-valid-time.com", base::Value("foo"));
+ base::Value::Dict& never_prompt_list = never_prompt_list_update->GetDict();
+ never_prompt_list.Set("not-a-string.com", 0);
+ never_prompt_list.Set("not-a-valid-time.com", "foo");
// Add the null time (valid time).
- never_prompt_list->SetKey("null-time.com", base::Value("0"));
+ never_prompt_list.Set("null-time.com", "0");
// This should not crash, and filter invalid times.
EXPECT_THAT(translate_prefs_->GetNeverPromptSitesBetween(base::Time::Min(),
@@ -1215,28 +1211,29 @@
scoped_feature_list.InitAndDisableFeature(
kMigrateAlwaysTranslateLanguagesFix);
- base::Value never_translate_list(base::Value::Type::LIST);
+ base::Value::List never_translate_list;
never_translate_list.Append("en");
- base::Value old_always_translate_map(base::Value::Type::DICTIONARY);
- old_always_translate_map.SetStringKey("fr", "en");
+ base::Value::Dict old_always_translate_map;
+ old_always_translate_map.Set("fr", "en");
- base::Value new_always_translate_map(base::Value::Type::DICTIONARY);
- new_always_translate_map.SetStringKey("ru", "en");
+ base::Value::Dict new_always_translate_map;
+ new_always_translate_map.Set("ru", "en");
- prefs_.Set(prefs::kBlockedLanguages, never_translate_list.Clone());
- prefs_.Set(TranslatePrefs::kPrefAlwaysTranslateListDeprecated,
- old_always_translate_map.Clone());
- prefs_.Set(prefs::kPrefAlwaysTranslateList, new_always_translate_map.Clone());
+ prefs_.SetList(prefs::kBlockedLanguages, never_translate_list.Clone());
+ prefs_.SetDict(TranslatePrefs::kPrefAlwaysTranslateListDeprecated,
+ old_always_translate_map.Clone());
+ prefs_.SetDict(prefs::kPrefAlwaysTranslateList,
+ new_always_translate_map.Clone());
// Since the kMigrateAlwaysTranslateLanguagesFix feature is disabled, no
// migration should occur during construction.
TranslatePrefs translate_prefs(&prefs_);
EXPECT_EQ(
- *prefs_.GetDictionary(TranslatePrefs::kPrefAlwaysTranslateListDeprecated),
+ prefs_.GetValueDict(TranslatePrefs::kPrefAlwaysTranslateListDeprecated),
old_always_translate_map);
- EXPECT_EQ(*prefs_.GetDictionary(prefs::kPrefAlwaysTranslateList),
+ EXPECT_EQ(prefs_.GetValueDict(prefs::kPrefAlwaysTranslateList),
new_always_translate_map);
}
@@ -1245,30 +1242,30 @@
base::test::ScopedFeatureList scoped_feature_list(
kMigrateAlwaysTranslateLanguagesFix);
- base::Value never_translate_list(base::Value::Type::LIST);
+ base::Value::List never_translate_list;
never_translate_list.Append("en");
never_translate_list.Append("es");
- prefs_.Set(prefs::kBlockedLanguages, std::move(never_translate_list));
+ prefs_.SetList(prefs::kBlockedLanguages, std::move(never_translate_list));
- base::Value old_always_translate_map(base::Value::Type::DICTIONARY);
+ base::Value::Dict old_always_translate_map;
// A non-conflicting language pair that should be merged.
- old_always_translate_map.SetStringKey("fr", "en");
+ old_always_translate_map.Set("fr", "en");
// Conflicts with a new language pair with the same source language.
- old_always_translate_map.SetStringKey("ru", "de");
+ old_always_translate_map.Set("ru", "de");
// Conflicts with a new language pair with this source language as the target.
- old_always_translate_map.SetStringKey("jp", "de");
+ old_always_translate_map.Set("jp", "de");
// Conflicts with a new language pair with this target language as the source.
- old_always_translate_map.SetStringKey("pt", "hi");
+ old_always_translate_map.Set("pt", "hi");
- prefs_.Set(TranslatePrefs::kPrefAlwaysTranslateListDeprecated,
- std::move(old_always_translate_map));
+ prefs_.SetDict(TranslatePrefs::kPrefAlwaysTranslateListDeprecated,
+ std::move(old_always_translate_map));
- base::Value new_always_translate_map(base::Value::Type::DICTIONARY);
- new_always_translate_map.SetStringKey("ru", "en");
- new_always_translate_map.SetStringKey("id", "jp");
- new_always_translate_map.SetStringKey("hi", "en");
- prefs_.Set(prefs::kPrefAlwaysTranslateList,
- std::move(new_always_translate_map));
+ base::Value::Dict new_always_translate_map;
+ new_always_translate_map.Set("ru", "en");
+ new_always_translate_map.Set("id", "jp");
+ new_always_translate_map.Set("hi", "en");
+ prefs_.SetDict(prefs::kPrefAlwaysTranslateList,
+ std::move(new_always_translate_map));
// The always-translate pref migration should be done during construction.
TranslatePrefs translate_prefs(&prefs_);
@@ -1276,13 +1273,13 @@
EXPECT_FALSE(prefs_.GetUserPrefValue(
TranslatePrefs::kPrefAlwaysTranslateListDeprecated));
- base::Value expected_always_translate_map(base::Value::Type::DICTIONARY);
- expected_always_translate_map.SetStringKey("ru", "en");
- expected_always_translate_map.SetStringKey("id", "jp");
- expected_always_translate_map.SetStringKey("hi", "en");
- expected_always_translate_map.SetStringKey("fr", "en");
+ base::Value::Dict expected_always_translate_map;
+ expected_always_translate_map.Set("ru", "en");
+ expected_always_translate_map.Set("id", "jp");
+ expected_always_translate_map.Set("hi", "en");
+ expected_always_translate_map.Set("fr", "en");
- EXPECT_EQ(*prefs_.GetDictionary(prefs::kPrefAlwaysTranslateList),
+ EXPECT_EQ(prefs_.GetValueDict(prefs::kPrefAlwaysTranslateList),
expected_always_translate_map);
}