Chromium Code Reviews| Index: third_party/libaddressinput/chromium/cpp/src/address_data.cc |
| diff --git a/third_party/libaddressinput/chromium/cpp/src/address_data.cc b/third_party/libaddressinput/chromium/cpp/src/address_data.cc |
| index 08da6ca153507e543ff5af83d100f3008bc052ee..bfd21e8ad6ab7f2a675c7def1aaf87fe00a6df5c 100644 |
| --- a/third_party/libaddressinput/chromium/cpp/src/address_data.cc |
| +++ b/third_party/libaddressinput/chromium/cpp/src/address_data.cc |
| @@ -50,10 +50,12 @@ const std::string* GetMemberForField(const AddressData& address, |
| return &address.organization; |
| case RECIPIENT: |
| return &address.recipient; |
| - default: |
| - assert(false); |
| - return NULL; |
| + case STREET_ADDRESS: |
| + break; |
| } |
| + |
| + assert(false); |
| + return NULL; |
| } |
| } // namespace |
| @@ -117,5 +119,26 @@ void AddressData::SetFieldValue(AddressField field, const std::string& value) { |
| } |
| } |
| +bool AddressData::HasAllRequiredFields() const { |
| + if (country_code.empty()) |
| + return false; |
| + |
| + Rule rule; |
| + rule.CopyFrom(Rule::GetDefault()); |
| + if (!rule.ParseSerializedRule( |
| + RegionDataConstants::GetRegionData(country_code))) { |
| + return false; |
| + } |
| + |
| + std::vector<::i18n::addressinput::AddressField> required_fields = |
|
please use gerrit instead
2014/05/09 22:26:50
Place add a space between < and ::.
Evan Stade
2014/05/09 22:49:08
Done.
|
| + rule.GetRequired(); |
| + for (size_t i = 0; i < required_fields.size(); ++i) { |
| + if (GetFieldValue(required_fields[i]).empty()) |
|
please use gerrit instead
2014/05/09 22:26:50
Please check for STREET_ADDRESS here to avoid the
Evan Stade
2014/05/09 22:49:08
Done.
|
| + return false; |
| + } |
| + |
| + return true; |
| +} |
| + |
| } // namespace addressinput |
| } // namespace i18n |