| Index: third_party/libaddressinput/chromium/cpp/src/rule.cc
|
| diff --git a/third_party/libaddressinput/chromium/cpp/src/rule.cc b/third_party/libaddressinput/chromium/cpp/src/rule.cc
|
| index a8aba1d8101c63c72ae133dbfaa8e1b0b02599cf..5a4048fce90eece99435f9f546c0240dab61b472 100644
|
| --- a/third_party/libaddressinput/chromium/cpp/src/rule.cc
|
| +++ b/third_party/libaddressinput/chromium/cpp/src/rule.cc
|
| @@ -39,7 +39,11 @@ const char kAdminAreaNameTypeKey[] = "state_name_type";
|
| const char kFormatKey[] = "fmt";
|
| const char kLanguageKey[] = "lang";
|
| const char kLanguagesKey[] = "languages";
|
| +const char kPostalCodeExamplesKey[] = "zipex";
|
| +const char kPostalCodeFormatKey[] = "zip";
|
| const char kPostalCodeNameTypeKey[] = "zip_name_type";
|
| +const char kPostalCodesUrlKey[] = "posturl";
|
| +const char kRequiredKey[] = "require";
|
| const char kSubKeysKey[] = "sub_keys";
|
|
|
| // Used as a separator in a list of items. For example, the list of supported
|
| @@ -112,9 +116,13 @@ const Rule& InitDefaultRule() {
|
|
|
| Rule::Rule()
|
| : format_(),
|
| + required_(),
|
| sub_keys_(),
|
| languages_(),
|
| language_(),
|
| + postal_code_examples_(),
|
| + postal_code_format_(),
|
| + postal_codes_url_(),
|
| admin_area_name_message_id_(INVALID_MESSAGE_ID),
|
| postal_code_name_message_id_(INVALID_MESSAGE_ID) {}
|
|
|
| @@ -132,9 +140,13 @@ const Rule& Rule::GetDefault() {
|
|
|
| void Rule::CopyFrom(const Rule& rule) {
|
| format_ = rule.format_;
|
| + required_ = rule.required_;
|
| sub_keys_ = rule.sub_keys_;
|
| languages_ = rule.languages_;
|
| language_ = rule.language_;
|
| + postal_code_examples_ = rule.postal_code_examples_;
|
| + postal_code_format_ = rule.postal_code_format_;
|
| + postal_codes_url_ = rule.postal_codes_url_;
|
| admin_area_name_message_id_ = rule.admin_area_name_message_id_;
|
| postal_code_name_message_id_ = rule.postal_code_name_message_id_;
|
| }
|
| @@ -149,6 +161,11 @@ bool Rule::ParseSerializedRule(const std::string& serialized_rule) {
|
| ParseAddressFieldsFormat(json->GetStringValueForKey(kFormatKey), &format_);
|
| }
|
|
|
| + if (json->HasStringValueForKey(kRequiredKey)) {
|
| + ParseAddressFieldsRequired(
|
| + json->GetStringValueForKey(kRequiredKey), &required_);
|
| + }
|
| +
|
| if (json->HasStringValueForKey(kSubKeysKey)) {
|
| SplitString(
|
| json->GetStringValueForKey(kSubKeysKey), kSeparator, &sub_keys_);
|
| @@ -163,6 +180,18 @@ bool Rule::ParseSerializedRule(const std::string& serialized_rule) {
|
| language_ = json->GetStringValueForKey(kLanguageKey);
|
| }
|
|
|
| + if (json->HasStringValueForKey(kPostalCodeExamplesKey)) {
|
| + postal_code_examples_ = json->GetStringValueForKey(kPostalCodeExamplesKey);
|
| + }
|
| +
|
| + if (json->HasStringValueForKey(kPostalCodeFormatKey)) {
|
| + postal_code_format_ = json->GetStringValueForKey(kPostalCodeFormatKey);
|
| + }
|
| +
|
| + if (json->HasStringValueForKey(kPostalCodesUrlKey)) {
|
| + postal_codes_url_ = json->GetStringValueForKey(kPostalCodesUrlKey);
|
| + }
|
| +
|
| if (json->HasStringValueForKey(kAdminAreaNameTypeKey)) {
|
| admin_area_name_message_id_ =
|
| GetMessageIdFromName(json->GetStringValueForKey(kAdminAreaNameTypeKey),
|
|
|