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

Unified Diff: components/autofill/browser/autofill_country.cc

Issue 17392006: In components/autofill, move browser/ to core/browser/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to fix conflicts Created 7 years, 6 months 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: components/autofill/browser/autofill_country.cc
diff --git a/components/autofill/browser/autofill_country.cc b/components/autofill/browser/autofill_country.cc
deleted file mode 100644
index ad080bc58d8b1a49914132e0d627e5d0509ef10a..0000000000000000000000000000000000000000
--- a/components/autofill/browser/autofill_country.cc
+++ /dev/null
@@ -1,1111 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/autofill/browser/autofill_country.h"
-
-#include <stddef.h>
-#include <stdint.h>
-#include <map>
-#include <utility>
-
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/singleton.h"
-#include "base/stl_util.h"
-#include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
-#include "grit/component_strings.h"
-#include "third_party/icu/public/common/unicode/locid.h"
-#include "third_party/icu/public/common/unicode/uloc.h"
-#include "third_party/icu/public/common/unicode/unistr.h"
-#include "third_party/icu/public/common/unicode/urename.h"
-#include "third_party/icu/public/common/unicode/utypes.h"
-#include "third_party/icu/public/i18n/unicode/coll.h"
-#include "third_party/icu/public/i18n/unicode/ucol.h"
-#include "ui/base/l10n/l10n_util.h"
-
-namespace autofill {
-namespace {
-
-// The maximum capacity needed to store a locale up to the country code.
-const size_t kLocaleCapacity =
- ULOC_LANG_CAPACITY + ULOC_SCRIPT_CAPACITY + ULOC_COUNTRY_CAPACITY + 1;
-
-struct CountryData {
- int postal_code_label_id;
- int state_label_id;
- AddressRequiredFields address_required_fields;
-};
-
-struct StaticCountryData {
- char country_code[3];
- CountryData country_data;
-};
-
-// Maps country codes to localized label string identifiers.
-const StaticCountryData kCountryData[] = {
- { "AD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH,
- ADDRESS_REQUIRES_STATE } },
- { "AE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_EMIRATE,
- ADDRESS_REQUIRES_STATE } },
- { "AF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
- { "AI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AS", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "AT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "AU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "AW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "AX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "AZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "BF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "BM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "BS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "BZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "CC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "CI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "CO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- 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,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "CZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "DE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "DJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "DK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "DM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "DO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "DZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "EC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "EE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "EG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "EH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ER", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ES", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "ET", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "FI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "FJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "FK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "FM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "FO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "FR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
- { "GL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "GT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GU", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "GW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "GY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "HK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_AREA,
- ADDRESS_REQUIRES_STATE } },
- { "HM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "HN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "HR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "HT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "HU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ID", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "IE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "IL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "IM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "IN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "IO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "IQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "IS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "IT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "JE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "JM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PARISH,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "JO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "JP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PREFECTURE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "KE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "KP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "KW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "KY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIRES_STATE } },
- { "KZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "LK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "LV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "LY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ME", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "MG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MH", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "MK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ML", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
- { "MP", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "MQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "MR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "MX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "MY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "MZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "NE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_DEPARTMENT,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "NO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "NP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_DISTRICT,
- ADDRESS_REQUIRES_STATE } },
- { "NU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "NZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "OM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "PA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "PE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "PF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "PG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "PH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY } },
- { "PK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "PL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "PM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "PN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "PR", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "PS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "PT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "PW", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "PY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "QA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "RE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "RO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "RS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "RU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "RW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "SG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ZIP } },
- { "SH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "SI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "SK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ZIP } },
- { "SN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "SR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "ST", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "SV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "SZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "TD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "TT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_ISLAND,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "TW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_COUNTY,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "TZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "UA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "UG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "UM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "US", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "UY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "UZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "VA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "VC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "VE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_STATE } },
- { "VG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } },
- { "VI", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE,
- IDS_AUTOFILL_FIELD_LABEL_STATE,
- ADDRESS_REQUIRES_CITY_STATE_ZIP } },
- { "VN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY } },
- { "VU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "WF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "WS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
- { "YE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY } },
- { "YT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "ZA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY_ZIP } },
- { "ZM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIRES_CITY } },
- { "ZW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE,
- ADDRESS_REQUIREMENTS_UNKNOWN } },
-};
-
-// A singleton class that encapsulates a map from country codes to country data.
-class CountryDataMap {
- public:
- // A const iterator over the wrapped map data.
- typedef std::map<std::string, CountryData>::const_iterator Iterator;
-
- static CountryDataMap* GetInstance();
- static const Iterator Begin();
- static const Iterator End();
- static const Iterator Find(const std::string& country_code);
-
- private:
- CountryDataMap();
- friend struct DefaultSingletonTraits<CountryDataMap>;
-
- std::map<std::string, CountryData> country_data_;
-
- DISALLOW_COPY_AND_ASSIGN(CountryDataMap);
-};
-
-// static
-CountryDataMap* CountryDataMap::GetInstance() {
- return Singleton<CountryDataMap>::get();
-}
-
-CountryDataMap::CountryDataMap() {
- // Add all the countries we have explicit data for.
- for (size_t i = 0; i < arraysize(kCountryData); ++i) {
- const StaticCountryData& static_data = kCountryData[i];
- country_data_.insert(std::make_pair(static_data.country_code,
- static_data.country_data));
- }
-
- // Add any other countries that ICU knows about, falling back to default data
- // values.
- for (const char* const* country_pointer = icu::Locale::getISOCountries();
- *country_pointer;
- ++country_pointer) {
- std::string country_code = *country_pointer;
- if (!country_data_.count(country_code)) {
- CountryData data = {
- IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE,
- IDS_AUTOFILL_FIELD_LABEL_PROVINCE
- };
- country_data_.insert(std::make_pair(country_code, data));
- }
- }
-}
-
-const CountryDataMap::Iterator CountryDataMap::Begin() {
- return GetInstance()->country_data_.begin();
-}
-
-const CountryDataMap::Iterator CountryDataMap::End() {
- return GetInstance()->country_data_.end();
-}
-
-const CountryDataMap::Iterator CountryDataMap::Find(
- const std::string& country_code) {
- return GetInstance()->country_data_.find(country_code);
-}
-
-// A singleton class that encapsulates mappings from country names to their
-// corresponding country codes.
-class CountryNames {
- public:
- static CountryNames* GetInstance();
-
- // Returns the country code corresponding to |country|, which should be a
- // country code or country name localized to |locale|.
- const std::string GetCountryCode(const base::string16& country,
- const std::string& locale);
-
- private:
- CountryNames();
- ~CountryNames();
- friend struct DefaultSingletonTraits<CountryNames>;
-
- // Populates |locales_to_localized_names_| with the mapping of country names
- // localized to |locale| to their corresponding country codes.
- void AddLocalizedNamesForLocale(const std::string& locale);
-
- // Interprets |country_name| as a full country name localized to the given
- // |locale| and returns the corresponding country code stored in
- // |locales_to_localized_names_|, or an empty string if there is none.
- const std::string GetCountryCodeForLocalizedName(
- const base::string16& country_name,
- const std::string& locale);
-
- // Returns an ICU collator -- i.e. string comparator -- appropriate for the
- // given |locale|.
- icu::Collator* GetCollatorForLocale(const std::string& locale);
-
- // Returns the ICU sort key corresponding to |str| for the given |collator|.
- // Uses |buffer| as temporary storage, and might resize |buffer| as a side-
- // effect. |buffer_size| should specify the |buffer|'s size, and is updated if
- // the |buffer| is resized.
- const std::string GetSortKey(const icu::Collator& collator,
- const base::string16& str,
- scoped_ptr<uint8_t[]>* buffer,
- int32_t* buffer_size) const;
-
- // Maps from common country names, including 2- and 3-letter country codes,
- // to the corresponding 2-letter country codes. The keys are uppercase ASCII
- // strings.
- std::map<std::string, std::string> common_names_;
-
- // The outer map keys are ICU locale identifiers.
- // The inner maps map from localized country names to their corresponding
- // country codes. The inner map keys are ICU collation sort keys corresponding
- // to the target localized country name.
- std::map<std::string, std::map<std::string, std::string> >
- locales_to_localized_names_;
-
- // Maps ICU locale names to their corresponding collators.
- std::map<std::string, icu::Collator*> collators_;
-
- DISALLOW_COPY_AND_ASSIGN(CountryNames);
-};
-
-// static
-CountryNames* CountryNames::GetInstance() {
- return Singleton<CountryNames>::get();
-}
-
-CountryNames::CountryNames() {
- // Add 2- and 3-letter ISO country codes.
- for (CountryDataMap::Iterator it = CountryDataMap::Begin();
- it != CountryDataMap::End();
- ++it) {
- const std::string& country_code = it->first;
- std::string iso3_country_code =
- icu::Locale(NULL, country_code.c_str()).getISO3Country();
-
- common_names_.insert(std::make_pair(country_code, country_code));
- common_names_.insert(std::make_pair(iso3_country_code, country_code));
- }
-
- // Add a few other common synonyms.
- common_names_.insert(std::make_pair("UNITED STATES OF AMERICA", "US"));
- common_names_.insert(std::make_pair("U.S.A.", "US"));
- common_names_.insert(std::make_pair("GREAT BRITAIN", "GB"));
- common_names_.insert(std::make_pair("UK", "GB"));
- common_names_.insert(std::make_pair("BRASIL", "BR"));
- common_names_.insert(std::make_pair("DEUTSCHLAND", "DE"));
-}
-
-CountryNames::~CountryNames() {
- STLDeleteContainerPairSecondPointers(collators_.begin(),
- collators_.end());
-}
-
-const std::string CountryNames::GetCountryCode(const base::string16& country,
- const std::string& locale) {
- // First, check common country names, including 2- and 3-letter country codes.
- std::string country_utf8 = UTF16ToUTF8(StringToUpperASCII(country));
- std::map<std::string, std::string>::const_iterator result =
- common_names_.find(country_utf8);
- if (result != common_names_.end())
- return result->second;
-
- // Next, check country names localized to |locale|.
- std::string country_code = GetCountryCodeForLocalizedName(country, locale);
- if (!country_code.empty())
- return country_code;
-
- // Finally, check country names localized to US English.
- return GetCountryCodeForLocalizedName(country, "en_US");
-}
-
-void CountryNames::AddLocalizedNamesForLocale(const std::string& locale) {
- // Nothing to do if we've previously added the localized names for the given
- // |locale|.
- if (locales_to_localized_names_.count(locale))
- return;
-
- std::map<std::string, std::string> localized_names;
- const icu::Collator* collator = GetCollatorForLocale(locale);
- int32_t buffer_size = 1000;
- scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
-
- for (CountryDataMap::Iterator it = CountryDataMap::Begin();
- it != CountryDataMap::End();
- ++it) {
- const std::string& country_code = it->first;
- base::string16 country_name = l10n_util::GetDisplayNameForCountry(
- country_code, locale);
- std::string sort_key = GetSortKey(*collator,
- country_name,
- &buffer,
- &buffer_size);
-
- localized_names.insert(std::make_pair(sort_key, country_code));
- }
-
- locales_to_localized_names_.insert(std::make_pair(locale, localized_names));
-}
-
-const std::string CountryNames::GetCountryCodeForLocalizedName(
- const base::string16& country_name,
- const std::string& locale) {
- AddLocalizedNamesForLocale(locale);
-
- icu::Collator* collator = GetCollatorForLocale(locale);
-
- // As recommended[1] by ICU, initialize the buffer size to four times the
- // source string length.
- // [1] http://userguide.icu-project.org/collation/api#TOC-Examples
- int32_t buffer_size = country_name.size() * 4;
- scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
- std::string sort_key = GetSortKey(*collator,
- country_name,
- &buffer,
- &buffer_size);
-
- const std::map<std::string, std::string>& localized_names =
- locales_to_localized_names_[locale];
- std::map<std::string, std::string>::const_iterator result =
- localized_names.find(sort_key);
-
- if (result != localized_names.end())
- return result->second;
-
- return std::string();
-}
-
-icu::Collator* CountryNames::GetCollatorForLocale(const std::string& locale) {
- if (!collators_.count(locale)) {
- icu::Locale icu_locale(locale.c_str());
- UErrorCode ignored = U_ZERO_ERROR;
- icu::Collator* collator(icu::Collator::createInstance(icu_locale, ignored));
-
- // Compare case-insensitively and ignoring punctuation.
- ignored = U_ZERO_ERROR;
- collator->setAttribute(UCOL_STRENGTH, UCOL_SECONDARY, ignored);
- ignored = U_ZERO_ERROR;
- collator->setAttribute(UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, ignored);
-
- collators_.insert(std::make_pair(locale, collator));
- }
-
- return collators_[locale];
-}
-
-const std::string CountryNames::GetSortKey(const icu::Collator& collator,
- const base::string16& str,
- scoped_ptr<uint8_t[]>* buffer,
- int32_t* buffer_size) const {
- DCHECK(buffer);
- DCHECK(buffer_size);
-
- icu::UnicodeString icu_str(str.c_str(), str.length());
- int32_t expected_size = collator.getSortKey(icu_str, buffer->get(),
- *buffer_size);
- if (expected_size > *buffer_size) {
- // If there wasn't enough space, grow the buffer and try again.
- *buffer_size = expected_size;
- buffer->reset(new uint8_t[*buffer_size]);
- DCHECK(buffer->get());
-
- expected_size = collator.getSortKey(icu_str, buffer->get(), *buffer_size);
- DCHECK_EQ(*buffer_size, expected_size);
- }
-
- return std::string(reinterpret_cast<const char*>(buffer->get()));
-}
-
-} // namespace
-
-AutofillCountry::AutofillCountry(const std::string& country_code,
- const std::string& locale) {
- const CountryDataMap::Iterator result = CountryDataMap::Find(country_code);
- DCHECK(result != CountryDataMap::End());
- const CountryData& data = result->second;
-
- country_code_ = 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() {
-}
-
-// static
-void AutofillCountry::GetAvailableCountries(
- std::vector<std::string>* country_codes) {
- DCHECK(country_codes);
-
- for (CountryDataMap::Iterator it = CountryDataMap::Begin();
- it != CountryDataMap::End();
- ++it) {
- country_codes->push_back(it->first);
- }
-}
-
-// static
-const std::string AutofillCountry::CountryCodeForLocale(
- const std::string& locale) {
- // Add likely subtags to the locale. In particular, add any likely country
- // subtags -- e.g. for locales like "ru" that only include the language.
- std::string likely_locale;
- UErrorCode error_ignored = U_ZERO_ERROR;
- uloc_addLikelySubtags(locale.c_str(),
- WriteInto(&likely_locale, kLocaleCapacity),
- kLocaleCapacity,
- &error_ignored);
-
- // Extract the country code.
- std::string country_code = icu::Locale(likely_locale.c_str()).getCountry();
-
- // Default to the United States if we have no better guess.
- if (CountryDataMap::Find(country_code) == CountryDataMap::End())
- return "US";
-
- return country_code;
-}
-
-// static
-const std::string AutofillCountry::GetCountryCode(const base::string16& country,
- const std::string& locale) {
- return CountryNames::GetInstance()->GetCountryCode(country, locale);
-}
-
-AutofillCountry::AutofillCountry(const std::string& country_code,
- const base::string16& name,
- const base::string16& postal_code_label,
- const base::string16& state_label)
- : country_code_(country_code),
- name_(name),
- postal_code_label_(postal_code_label),
- state_label_(state_label) {
-}
-
-} // namespace autofill
« no previous file with comments | « components/autofill/browser/autofill_country.h ('k') | components/autofill/browser/autofill_country_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698