| Index: third_party/libaddressinput/chromium/chrome_address_validator.cc
|
| diff --git a/third_party/libaddressinput/chromium/chrome_address_validator.cc b/third_party/libaddressinput/chromium/chrome_address_validator.cc
|
| index b0bd189d8f0542de34bc185ab102e1cee1d2b28d..9ae9069ddbf91968feb766d623260971e0683317 100644
|
| --- a/third_party/libaddressinput/chromium/chrome_address_validator.cc
|
| +++ b/third_party/libaddressinput/chromium/chrome_address_validator.cc
|
| @@ -17,6 +17,7 @@
|
| #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_normalizer.h"
|
| #include "third_party/libaddressinput/src/cpp/include/libaddressinput/source.h"
|
| #include "third_party/libaddressinput/src/cpp/include/libaddressinput/storage.h"
|
| +#include "third_party/libaddressinput/src/cpp/src/rule.h"
|
|
|
| namespace autofill {
|
| namespace {
|
| @@ -27,6 +28,7 @@ using ::i18n::addressinput::AddressNormalizer;
|
| using ::i18n::addressinput::BuildCallback;
|
| using ::i18n::addressinput::FieldProblemMap;
|
| using ::i18n::addressinput::PreloadSupplier;
|
| +using ::i18n::addressinput::Rule;
|
| using ::i18n::addressinput::Source;
|
| using ::i18n::addressinput::Storage;
|
|
|
| @@ -58,6 +60,22 @@ void AddressValidator::LoadRules(const std::string& region_code) {
|
| supplier_->LoadRules(region_code, *rules_loaded_);
|
| }
|
|
|
| +std::vector<std::string> AddressValidator::GetRegionSubKeys(
|
| + const std::string& region_code) {
|
| + DCHECK(AreRulesLoadedForRegion(region_code));
|
| +
|
| + auto rules = supplier_->GetRulesForRegion(region_code);
|
| + auto rule_iterator = rules.find("data/" + region_code);
|
| +
|
| + if (rule_iterator != rules.end()) {
|
| + if (rule_iterator->second)
|
| + return (rule_iterator->second)->GetSubKeys();
|
| + return std::vector<std::string>();
|
| + } else {
|
| + return std::vector<std::string>();
|
| + }
|
| +}
|
| +
|
| AddressValidator::Status AddressValidator::ValidateAddress(
|
| const AddressData& address,
|
| const FieldProblemMap* filter,
|
| @@ -141,7 +159,7 @@ void AddressValidator::RulesLoaded(bool success,
|
| const std::string& region_code,
|
| int) {
|
| if (load_rules_listener_)
|
| - load_rules_listener_->OnAddressValidationRulesLoaded(region_code, success);
|
| + load_rules_listener_->OnAddressRulesLoaded(region_code, success);
|
|
|
| // Count the first failed attempt to load rules as well.
|
| if (success || attempts_number_[region_code] + 1 >= kMaxAttemptsNumber)
|
|
|