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

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: Omit postal code examples and URL. 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..882e783f0b4af291a6c70efb9ce80ee2fd504168 100644
--- a/third_party/libaddressinput/chromium/cpp/src/rule.cc
+++ b/third_party/libaddressinput/chromium/cpp/src/rule.cc
@@ -39,7 +39,9 @@ const char kAdminAreaNameTypeKey[] = "state_name_type";
const char kFormatKey[] = "fmt";
const char kLanguageKey[] = "lang";
const char kLanguagesKey[] = "languages";
+const char kPostalCodeFormatKey[] = "zip";
const char kPostalCodeNameTypeKey[] = "zip_name_type";
+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 +114,11 @@ const Rule& InitDefaultRule() {
Rule::Rule()
: format_(),
+ required_(),
sub_keys_(),
languages_(),
language_(),
+ postal_code_format_(),
admin_area_name_message_id_(INVALID_MESSAGE_ID),
postal_code_name_message_id_(INVALID_MESSAGE_ID) {}
@@ -132,9 +136,11 @@ 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_format_ = rule.postal_code_format_;
admin_area_name_message_id_ = rule.admin_area_name_message_id_;
postal_code_name_message_id_ = rule.postal_code_name_message_id_;
}
@@ -149,6 +155,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 +174,10 @@ bool Rule::ParseSerializedRule(const std::string& serialized_rule) {
language_ = json->GetStringValueForKey(kLanguageKey);
}
+ if (json->HasStringValueForKey(kPostalCodeFormatKey)) {
+ postal_code_format_ = json->GetStringValueForKey(kPostalCodeFormatKey);
+ }
+
if (json->HasStringValueForKey(kAdminAreaNameTypeKey)) {
admin_area_name_message_id_ =
GetMessageIdFromName(json->GetStringValueForKey(kAdminAreaNameTypeKey),

Powered by Google App Engine
This is Rietveld 408576698