summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorjimblackler@chromium.org <jimblackler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 12:35:42 +0000
committerjimblackler@chromium.org <jimblackler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 12:35:42 +0000
commita36215aa2ae4ccdee4a577b4668dfa391d1ced0c (patch)
tree01e99ceb16a0aa81fc64cd7463381283a9979103 /components
parentc9132eaa3f2eb391284e1b64af353c84947893b7 (diff)
downloadchromium_src-a36215aa2ae4ccdee4a577b4668dfa391d1ced0c.zip
chromium_src-a36215aa2ae4ccdee4a577b4668dfa391d1ced0c.tar.gz
chromium_src-a36215aa2ae4ccdee4a577b4668dfa391d1ced0c.tar.bz2
Rules for Autofill profile import relaxed where appropriate for most countries worldwide
Specifically, adapt PersonalDataManager::IsMinimumAddress to use the rules from the Android Address Widget project https://code.google.com/p/libaddressinput/source/browse/trunk/src/com/android/i18n/addressinput/RegionDataConstants.java?spec=svn117&r=117 regarding minimum address elements (Address Line 1, City, State, Zip) for each locality. BUG=http://crbug.com/224567 TEST=PersonalDataManager.ImportFormMinimumAddressUSA, PersonalDataManager.ImportFormMinimumAddressGB, PersonalDataManager.ImportFormMinimumAddressGI Review URL: https://chromiumcodereview.appspot.com/13375023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192319 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components')
-rw-r--r--components/autofill/browser/autofill_country.cc728
-rw-r--r--components/autofill/browser/autofill_country.h43
-rw-r--r--components/autofill/browser/personal_data_manager.cc33
-rw-r--r--components/autofill/browser/personal_data_manager_unittest.cc84
4 files changed, 640 insertions, 248 deletions
diff --git a/components/autofill/browser/autofill_country.cc b/components/autofill/browser/autofill_country.cc
index e8a8f9e..f38ba09 100644
--- a/components/autofill/browser/autofill_country.cc
+++ b/components/autofill/browser/autofill_country.cc
@@ -39,6 +39,7 @@ const size_t kLocaleCapacity =
struct CountryData {
int postal_code_label_id;
int state_label_id;
+ AddressRequiredFields address_required_fields;
};
struct StaticCountryData {
@@ -49,487 +50,731 @@ struct StaticCountryData {
// Maps country codes to localized label string identifiers.
const StaticCountryData kCountryData[] = {
{ "AD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH } },
+ IDS_AUTOFILL_FIELD_LABEL_PARISH,
+ ADDRESS_REQUIRES_STATE } },
{ "AE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_EMIRATE } },
+ IDS_AUTOFILL_FIELD_LABEL_EMIRATE,
+ ADDRESS_REQUIRES_STATE } },
{ "AF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
{ "AI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AS", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "AT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "AU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "AW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "AX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "AZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH } },
+ IDS_AUTOFILL_FIELD_LABEL_PARISH,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "BF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "BM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "BS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "BZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "CC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "CI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "CO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
+ { "CS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "CZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "DE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "DJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "DK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "DM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "DO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "DZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "EC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "EE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "EG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "EH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ER", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ES", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "ET", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "FI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "FJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "FK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "FM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "FO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "FR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY } },
+ IDS_AUTOFILL_FIELD_LABEL_COUNTY,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
{ "GL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "GT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GU", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "GW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "GY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "HK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_AREA } },
+ IDS_AUTOFILL_FIELD_LABEL_AREA,
+ ADDRESS_REQUIRES_STATE } },
{ "HM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "HN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "HR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "HT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "HU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ID", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "IE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY } },
+ IDS_AUTOFILL_FIELD_LABEL_COUNTY,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "IL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "IM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "IN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "IO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "IQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "IS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "IT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "JE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "JM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH } },
+ IDS_AUTOFILL_FIELD_LABEL_PARISH,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "JO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "JP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PREFECTURE } },
+ IDS_AUTOFILL_FIELD_LABEL_PREFECTURE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "KE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "KP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "KW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "KY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIRES_STATE } },
{ "KZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "LK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "LV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "LY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ME", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "MG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MH", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "MK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ML", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
{ "MP", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "MQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "MR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "MX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "MY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "MZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "NE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_DEPARTMENT } },
+ IDS_AUTOFILL_FIELD_LABEL_DEPARTMENT,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "NO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "NP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_DISTRICT } },
+ IDS_AUTOFILL_FIELD_LABEL_DISTRICT,
+ ADDRESS_REQUIRES_STATE } },
{ "NU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "NZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "OM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "PA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "PE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "PF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "PG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "PH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY } },
{ "PK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "PL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "PM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "PN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "PR", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "PS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "PT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "PW", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "PY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "QA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "RE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "RO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "RS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "RU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "RW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "SG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ZIP } },
{ "SH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "SI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "SK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ZIP } },
{ "SN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "SR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "ST", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "SV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "SZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "TD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "TT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND } },
+ IDS_AUTOFILL_FIELD_LABEL_ISLAND,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "TW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY } },
+ IDS_AUTOFILL_FIELD_LABEL_COUNTY,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "TZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "UA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "UG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "UM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "US", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "UY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "UZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "VA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "VC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "VE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_STATE } },
{ "VG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
{ "VI", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE } },
+ IDS_AUTOFILL_FIELD_LABEL_STATE,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP } },
{ "VN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY } },
{ "VU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "WF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "WS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
{ "YE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY } },
{ "YT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "ZA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY_ZIP } },
{ "ZM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIRES_CITY } },
{ "ZW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE } },
+ IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
+ ADDRESS_REQUIREMENTS_UNKNOWN } },
};
// A singleton class that encapsulates a map from country codes to country data.
@@ -835,6 +1080,7 @@ AutofillCountry::AutofillCountry(const std::string& country_code,
name_ = l10n_util::GetDisplayNameForCountry(country_code, locale);
postal_code_label_ = l10n_util::GetStringUTF16(data.postal_code_label_id);
state_label_ = l10n_util::GetStringUTF16(data.state_label_id);
+ address_required_fields_ = data.address_required_fields;
}
AutofillCountry::~AutofillCountry() {
diff --git a/components/autofill/browser/autofill_country.h b/components/autofill/browser/autofill_country.h
index 2dcaef6..72f0a8c 100644
--- a/components/autofill/browser/autofill_country.h
+++ b/components/autofill/browser/autofill_country.h
@@ -11,6 +11,31 @@
#include "base/basictypes.h"
#include "base/string16.h"
+// The minimal required fields for an address to be complete for a given
+// country.
+enum AddressRequiredFields {
+ ADDRESS_REQUIRES_CITY = 1 << 0,
+ ADDRESS_REQUIRES_STATE = 1 << 1,
+ ADDRESS_REQUIRES_ZIP = 1 << 2,
+
+ // Composite versions (for data).
+ ADDRESS_REQUIRES_CITY_STATE =
+ ADDRESS_REQUIRES_CITY | ADDRESS_REQUIRES_STATE,
+ ADDRESS_REQUIRES_STATE_ZIP =
+ ADDRESS_REQUIRES_STATE | ADDRESS_REQUIRES_ZIP,
+ ADDRESS_REQUIRES_CITY_ZIP =
+ ADDRESS_REQUIRES_CITY |ADDRESS_REQUIRES_ZIP,
+ ADDRESS_REQUIRES_CITY_STATE_ZIP =
+ ADDRESS_REQUIRES_CITY | ADDRESS_REQUIRES_STATE | ADDRESS_REQUIRES_ZIP,
+
+ // Policy for countries that don't have city, state or zip requirements.
+ ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY = 0,
+
+ // Policy for countries for which we do not have information about valid
+ // address format.
+ ADDRESS_REQUIREMENTS_UNKNOWN = ADDRESS_REQUIRES_CITY_STATE_ZIP,
+};
+
// Stores data associated with a country. Strings are localized to the app
// locale.
class AutofillCountry {
@@ -45,6 +70,21 @@ class AutofillCountry {
const string16 postal_code_label() const { return postal_code_label_; }
const string16 state_label() const { return state_label_; }
+ // City is expected in a complete address for this country.
+ bool requires_city() const {
+ return (address_required_fields_ & ADDRESS_REQUIRES_CITY) != 0;
+ }
+
+ // State is expected in a complete address for this country.
+ bool requires_state() const {
+ return (address_required_fields_ & ADDRESS_REQUIRES_STATE) != 0;
+ }
+
+ // Zip is expected in a complete address for this country.
+ bool requires_zip() const {
+ return (address_required_fields_ & ADDRESS_REQUIRES_ZIP) != 0;
+ }
+
private:
AutofillCountry(const std::string& country_code,
const string16& name,
@@ -63,6 +103,9 @@ class AutofillCountry {
// The localized label for the state (or province, district, etc.) field.
string16 state_label_;
+ // Address requirement field codes for the country.
+ AddressRequiredFields address_required_fields_;
+
DISALLOW_COPY_AND_ASSIGN(AutofillCountry);
};
diff --git a/components/autofill/browser/personal_data_manager.cc b/components/autofill/browser/personal_data_manager.cc
index 5647dae..4c3ff50 100644
--- a/components/autofill/browser/personal_data_manager.cc
+++ b/components/autofill/browser/personal_data_manager.cc
@@ -78,14 +78,33 @@ T* address_of(T& v) {
}
// Returns true if minimum requirements for import of a given |profile| have
-// been met. An address submitted via a form must have at least these fields
-// filled. No verification of validity of the contents is preformed. This is
-// and existence check only.
+// been met. An address submitted via a form must have at least the fields
+// required as determined by its country code.
+// No verification of validity of the contents is preformed. This is an
+// existence check only.
bool IsMinimumAddress(const AutofillProfile& profile) {
- return !profile.GetRawInfo(ADDRESS_HOME_LINE1).empty() &&
- !profile.GetRawInfo(ADDRESS_HOME_CITY).empty() &&
- !profile.GetRawInfo(ADDRESS_HOME_STATE).empty() &&
- !profile.GetRawInfo(ADDRESS_HOME_ZIP).empty();
+ // All countries require at least one address line.
+ if (profile.GetRawInfo(ADDRESS_HOME_LINE1).empty())
+ return false;
+ std::string app_locale = AutofillCountry::ApplicationLocale();
+ std::string country_code = profile.CountryCode();
+
+ if (country_code.empty())
+ country_code = AutofillCountry::CountryCodeForLocale(app_locale);
+
+ AutofillCountry country(country_code, app_locale);
+
+ if (country.requires_city() && profile.GetRawInfo(ADDRESS_HOME_CITY).empty())
+ return false;
+
+ if (country.requires_state() &&
+ profile.GetRawInfo(ADDRESS_HOME_STATE).empty())
+ return false;
+
+ if (country.requires_zip() && profile.GetRawInfo(ADDRESS_HOME_ZIP).empty())
+ return false;
+
+ return true;
}
// Return true if the |field_type| and |value| are valid within the context
diff --git a/components/autofill/browser/personal_data_manager_unittest.cc b/components/autofill/browser/personal_data_manager_unittest.cc
index 740c9f8..ac3a40f 100644
--- a/components/autofill/browser/personal_data_manager_unittest.cc
+++ b/components/autofill/browser/personal_data_manager_unittest.cc
@@ -605,6 +605,90 @@ TEST_F(PersonalDataManagerTest, ImportFormDataNotEnoughFilledFields) {
ASSERT_EQ(0U, credit_cards.size());
}
+TEST_F(PersonalDataManagerTest, ImportFormMinimumAddressUSA) {
+ // United States addresses must specifiy one address line, a city, state and
+ // zip code.
+ FormData form;
+ FormFieldData field;
+ autofill_test::CreateTestFormField(
+ "Name:", "name", "Barack Obama", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Address:", "address", "1600 Pennsylvania Avenue", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "City:", "city", "Washington", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "State:", "state", "DC", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Zip:", "zip", "20500", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Country:", "country", "USA", "text", &field);
+ form.fields.push_back(field);
+ FormStructure form_structure(form, std::string());
+ form_structure.DetermineHeuristicTypes(TestAutofillMetrics());
+ const CreditCard* imported_credit_card;
+ EXPECT_TRUE(personal_data_->ImportFormData(form_structure,
+ &imported_credit_card));
+ const std::vector<AutofillProfile*>& profiles = personal_data_->GetProfiles();
+ ASSERT_EQ(1U, profiles.size());
+}
+
+TEST_F(PersonalDataManagerTest, ImportFormMinimumAddressGB) {
+ // British addresses do not require a state/province as the county is usually
+ // not requested on forms.
+ FormData form;
+ FormFieldData field;
+ autofill_test::CreateTestFormField(
+ "Name:", "name", "David Cameron", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Address:", "address", "10 Downing Street", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "City:", "city", "London", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Postcode:", "postcode", "SW1A 2AA", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Country:", "country", "United Kingdom", "text", &field);
+ form.fields.push_back(field);
+ FormStructure form_structure(form, std::string());
+ form_structure.DetermineHeuristicTypes(TestAutofillMetrics());
+ const CreditCard* imported_credit_card;
+ EXPECT_TRUE(personal_data_->ImportFormData(form_structure,
+ &imported_credit_card));
+ const std::vector<AutofillProfile*>& profiles = personal_data_->GetProfiles();
+ ASSERT_EQ(1U, profiles.size());
+}
+
+TEST_F(PersonalDataManagerTest, ImportFormMinimumAddressGI) {
+ // Gibraltar has the most minimal set of requirements for a valid address.
+ // There are no cities or provinces and no postal/zip code system.
+ FormData form;
+ FormFieldData field;
+ autofill_test::CreateTestFormField(
+ "Name:", "name", "Sir Adrian Johns", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Address:", "address", "The Convent, Main Street", "text", &field);
+ form.fields.push_back(field);
+ autofill_test::CreateTestFormField(
+ "Country:", "country", "Gibraltar", "text", &field);
+ form.fields.push_back(field);
+ FormStructure form_structure(form, std::string());
+ form_structure.DetermineHeuristicTypes(TestAutofillMetrics());
+ const CreditCard* imported_credit_card;
+ EXPECT_TRUE(personal_data_->ImportFormData(form_structure,
+ &imported_credit_card));
+ const std::vector<AutofillProfile*>& profiles = personal_data_->GetProfiles();
+ ASSERT_EQ(1U, profiles.size());
+}
+
TEST_F(PersonalDataManagerTest, ImportPhoneNumberSplitAcrossMultipleFields) {
FormData form;
FormFieldData field;