Chromium Code Reviews| Index: chrome/browser/autofill/autofill_country.cc |
| diff --git a/chrome/browser/autofill/autofill_country.cc b/chrome/browser/autofill/autofill_country.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ab69baf67a8f4d5d31e6fa1499416568d7e0ff67 |
| --- /dev/null |
| +++ b/chrome/browser/autofill/autofill_country.cc |
| @@ -0,0 +1,1335 @@ |
| +// Copyright (c) 2011 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 "chrome/browser/autofill/autofill_country.h" |
| + |
| +#include <map> |
| +#include <utility> |
| + |
| +#include "base/logging.h" |
| +#include "base/singleton.h" |
| +#include "base/utf_string_conversions.h" |
|
James Hawkins
2011/02/12 20:32:45
Is this header used?
Ilya Sherman
2011/02/16 10:27:18
It was, then it wasn't, and now it is again. Well
|
| +#include "chrome/browser/browser_process.h" |
| +#include "grit/generated_resources.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| +#include "third_party/icu/public/common/unicode/locid.h" |
|
James Hawkins
2011/02/12 20:32:45
't' before 'u'.
Ilya Sherman
2011/02/16 10:27:18
Done.
|
| + |
| +namespace { |
| + |
| +struct AutoFillCountryData { |
| + std::string country_code; |
| + int postal_code_label_id; |
| + int state_label_id; |
| +}; |
| + |
| +const AutoFillCountryData kCountryData[] = { |
| + { |
| + "AD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PARISH |
| + }, |
| + { |
| + "AE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_EMIRATE |
| + }, |
| + { |
| + "AF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AQ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "AS", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "AT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "AW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AX", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "AZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BB", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PARISH |
| + }, |
| + { |
| + "BD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BJ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "BS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "BT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "BZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "CM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "CX", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "CZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DJ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "DZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "EC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "EE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "EG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "EH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ER", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ES", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ET", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "FI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "FJ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "FK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "FM", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "FO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "FR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GB", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_COUNTY |
| + }, |
| + { |
| + "GD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GP", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GQ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GU", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "GW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "GY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "HK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_AREA |
| + }, |
| + { |
| + "HM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "HN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "HR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "HT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "HU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ID", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_COUNTY |
| + }, |
| + { |
| + "IL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "IO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IQ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "IT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "JE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "JM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PARISH |
| + }, |
| + { |
| + "JO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "JP", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PREFECTURE |
| + }, |
| + { |
| + "KE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "KM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "KP", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "KY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "KZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LB", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "LY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ME", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MH", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "MK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ML", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MP", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "MQ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "MX", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "MY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "MZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "NI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_DEPARTMENT |
| + }, |
| + { |
| + "NL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NP", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_DISTRICT |
| + }, |
| + { |
| + "NU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "NZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "OM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "PG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PR", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "PW", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "PY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "QA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "RE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "RO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "RS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "RU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "RW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SB", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "SE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SI", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SJ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ST", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "SZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TD", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TH", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TJ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TK", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TL", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TO", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TR", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "TV", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_ISLAND |
| + }, |
| + { |
| + "TW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_COUNTY |
| + }, |
| + { |
| + "TZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "UA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "UG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "UM", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "US", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "UY", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "UZ", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VC", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VG", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VI", |
| + IDS_AUTOFILL_DIALOG_ZIP_CODE, |
| + IDS_AUTOFILL_DIALOG_STATE |
| + }, |
| + { |
| + "VN", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "VU", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "WF", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "WS", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "YE", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "YT", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ZA", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ZM", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| + { |
| + "ZW", |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }, |
| +}; |
| + |
| +// A singleton class that encapsulates a map from country codes to country data. |
| +class AutoFillCountries { |
| + public: |
| + typedef std::map<std::string, AutoFillCountryData> MapType; |
|
James Hawkins
2011/02/12 20:32:45
Document this type.
Ilya Sherman
2011/02/16 10:27:18
Done, though not sure how much value-add the comme
|
| + |
| + static AutoFillCountries* GetInstance(); |
| + static const MapType& countries(); |
| + |
| + private: |
| + AutoFillCountries(); |
| + friend struct DefaultSingletonTraits<AutoFillCountries>; |
|
James Hawkins
2011/02/12 20:32:45
friend declarations should be first in the section
Ilya Sherman
2011/02/16 10:27:18
That doesn't seem to be the style used elsewhere -
|
| + |
| + MapType countries_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(AutoFillCountries); |
| +}; |
| + |
| +// static |
| +AutoFillCountries* AutoFillCountries::GetInstance() { |
| + return Singleton<AutoFillCountries>::get(); |
| +} |
| + |
| +AutoFillCountries::AutoFillCountries() { |
| + // Add all the countries we have explicit data for. |
| + for (size_t i = 0; i < arraysize(kCountryData); ++i) { |
| + const AutoFillCountryData& data = kCountryData[i]; |
| + countries_.insert(std::make_pair(data.country_code, data)); |
| + } |
| + |
| + // Add any other countries that ICU knows about, falling back to default data |
| + // values. |
| + for (const char* const* country_pointer = Locale::getISOCountries(); |
| + *country_pointer; |
| + ++country_pointer) { |
| + std::string country_code = *country_pointer; |
| + if (!countries_.count(country_code)) { |
| + AutoFillCountryData data = { |
| + country_code, |
| + IDS_AUTOFILL_DIALOG_POSTAL_CODE, |
| + IDS_AUTOFILL_DIALOG_PROVINCE |
| + }; |
| + countries_.insert(std::make_pair(country_code, data)); |
| + } |
| + } |
| +} |
| + |
| +const AutoFillCountries::MapType& AutoFillCountries::countries() { |
| + return GetInstance()->countries_; |
| +} |
| + |
| +} // namespace |
| + |
| +// static |
| +AutoFillCountry AutoFillCountry::CountryForCountryCode( |
| + const std::string& country_code) { |
| + const AutoFillCountries::MapType& countries = AutoFillCountries::countries(); |
| + DCHECK(countries.count(country_code)); |
| + const AutoFillCountryData& data = countries.find(country_code)->second; |
| + |
| + // Get the localized country name appropriate for the app locale. |
| + icu::Locale country_locale(NULL, country_code.c_str()); |
| + icu::Locale app_locale(g_browser_process->GetApplicationLocale().c_str()); |
| + icu::UnicodeString icu_name; |
| + country_locale.getDisplayName(app_locale, icu_name); |
| + DCHECK_GT(icu_name.length(), 0); |
| + |
| + string16 name(icu_name.getBuffer(), icu_name.length()); |
| + return AutoFillCountry(country_code, |
| + name, |
| + l10n_util::GetStringUTF16(data.postal_code_label_id), |
| + l10n_util::GetStringUTF16(data.state_label_id)); |
| +} |
| + |
| +// static |
| +AutoFillCountry AutoFillCountry::CountryForLocale(const std::string& locale) { |
| + std::string country_code = icu::Locale(locale.c_str()).getCountry(); |
| + return CountryForCountryCode(country_code); |
| +} |
| + |
| +// static |
| +void AutoFillCountry::GetAvailableCountries( |
| + std::vector<AutoFillCountry>* countries) { |
| + DCHECK(countries); |
| + |
| + const AutoFillCountries::MapType& country_data = |
| + AutoFillCountries::countries(); |
| + for (AutoFillCountries::MapType::const_iterator it = country_data.begin(); |
| + it != country_data.end(); |
| + ++it) { |
| + countries->push_back(CountryForCountryCode(it->first)); |
| + } |
| +} |
| + |
| +AutoFillCountry::AutoFillCountry(const std::string& country_code, |
| + const string16& name, |
| + const string16& postal_code_label, |
| + const string16& state_label) |
| + : country_code_(country_code), |
| + name_(name), |
| + postal_code_label_(postal_code_label), |
| + state_label_(state_label) { |
| +} |