summaryrefslogtreecommitdiff
path: root/chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc')
-rw-r--r--chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc48
1 files changed, 23 insertions, 25 deletions
diff --git a/chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc b/chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc
index 1e5ed929936..614000521de 100644
--- a/chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc
+++ b/chromium/components/autofill/core/browser/geo/alternative_state_name_map.cc
@@ -27,8 +27,6 @@ AlternativeStateNameMap* AlternativeStateNameMap::GetInstance() {
return g_alternative_state_name_map.get();
}
-AlternativeStateNameMap::AlternativeStateNameMap() = default;
-
// static
AlternativeStateNameMap::StateName AlternativeStateNameMap::NormalizeStateName(
const StateName& text) {
@@ -38,6 +36,18 @@ AlternativeStateNameMap::StateName AlternativeStateNameMap::NormalizeStateName(
return StateName(normalized_text);
}
+// static
+base::Optional<AlternativeStateNameMap::CanonicalStateName>
+AlternativeStateNameMap::GetCanonicalStateName(
+ const std::string& country_code,
+ const base::string16& state_name) {
+ return AlternativeStateNameMap::GetInstance()->GetCanonicalStateName(
+ AlternativeStateNameMap::CountryCode(country_code),
+ AlternativeStateNameMap::StateName(state_name));
+}
+
+AlternativeStateNameMap::AlternativeStateNameMap() = default;
+
base::Optional<AlternativeStateNameMap::CanonicalStateName>
AlternativeStateNameMap::GetCanonicalStateName(
const CountryCode& country_code,
@@ -82,17 +92,13 @@ base::Optional<StateEntry> AlternativeStateNameMap::GetEntry(
GetCanonicalStateName(country_code, normalized_state_string_from_profile,
/*is_state_name_normalized=*/true);
- if (!canonical_state_name) {
- canonical_state_name =
- CanonicalStateName(normalized_state_string_from_profile.value());
+ if (canonical_state_name) {
+ auto it = localized_state_names_map_.find(
+ {country_code, canonical_state_name.value()});
+ if (it != localized_state_names_map_.end())
+ return it->second;
}
- DCHECK(canonical_state_name);
- auto it = localized_state_names_map_.find(
- {country_code, canonical_state_name.value()});
- if (it != localized_state_names_map_.end())
- return it->second;
-
return base::nullopt;
}
@@ -101,7 +107,7 @@ void AlternativeStateNameMap::AddEntry(
const StateName& normalized_state_value_from_profile,
const StateEntry& state_entry,
const std::vector<StateName>& normalized_alternative_state_names,
- CanonicalStateName* normalized_canonical_state_name) {
+ const CanonicalStateName& normalized_canonical_state_name) {
DCHECK_CALLED_ON_VALID_SEQUENCE(alternative_state_name_map_sequence_checker_);
// Example:
@@ -120,25 +126,17 @@ void AlternativeStateNameMap::AddEntry(
// ("DE", "Bayern") -> "Bayern"
// ("DE", "BY") -> "Bayern"
// ("DE", "Bavaria") -> "Bayern"
-
if (localized_state_names_map_.size() == kMaxMapSize ||
GetCanonicalStateName(country_code, normalized_state_value_from_profile,
/*is_state_name_normalized=*/true)) {
return;
}
- if (normalized_canonical_state_name) {
- localized_state_names_map_[{
- country_code, *normalized_canonical_state_name}] = state_entry;
- for (const auto& alternative_name : normalized_alternative_state_names) {
- localized_state_names_reverse_lookup_map_[{
- country_code, alternative_name}] = *normalized_canonical_state_name;
- }
- } else {
- localized_state_names_map_[{
- country_code,
- CanonicalStateName(normalized_state_value_from_profile.value())}] =
- state_entry;
+ localized_state_names_map_[{country_code, normalized_canonical_state_name}] =
+ state_entry;
+ for (const auto& alternative_name : normalized_alternative_state_names) {
+ localized_state_names_reverse_lookup_map_[{
+ country_code, alternative_name}] = normalized_canonical_state_name;
}
}