Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: third_party/libaddressinput/chromium/cpp/src/rule.cc

Issue 106763007: [rac] Parse postal code formats and required fields in libaddressinput. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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),

Powered by Google App Engine
This is Rietveld 408576698