OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "components/autofill/browser/state_names.h" |
| 6 |
| 7 #include "base/basictypes.h" |
| 8 #include "base/string_util.h" |
| 9 #include "base/utf_string_conversions.h" |
| 10 |
| 11 namespace autofill { |
| 12 namespace state_names { |
| 13 |
| 14 namespace { |
| 15 |
| 16 // TODO(jhawkins): Add more states/provinces. See http://crbug.com/45039. |
| 17 |
| 18 struct StateData { |
| 19 const char* const name; |
| 20 const char abbreviation[3]; |
| 21 }; |
| 22 |
| 23 StateData kStateData[] = { |
| 24 { "alabama", "al" }, |
| 25 { "alaska", "ak" }, |
| 26 { "arizona", "az" }, |
| 27 { "arkansas", "ar" }, |
| 28 { "california", "ca" }, |
| 29 { "colorado", "co" }, |
| 30 { "connecticut", "ct" }, |
| 31 { "delaware", "de" }, |
| 32 { "district of columbia", "dc" }, |
| 33 { "florida", "fl" }, |
| 34 { "georgia", "ga" }, |
| 35 { "hawaii", "hi" }, |
| 36 { "idaho", "id" }, |
| 37 { "illinois", "il" }, |
| 38 { "indiana", "in" }, |
| 39 { "iowa", "ia" }, |
| 40 { "kansas", "ks" }, |
| 41 { "kentucky", "ky" }, |
| 42 { "louisiana", "la" }, |
| 43 { "maine", "me" }, |
| 44 { "maryland", "md" }, |
| 45 { "massachusetts", "ma" }, |
| 46 { "michigan", "mi" }, |
| 47 { "minnesota", "mv" }, |
| 48 { "mississippi", "ms" }, |
| 49 { "missouri", "mo" }, |
| 50 { "montana", "mt" }, |
| 51 { "nebraska", "ne" }, |
| 52 { "nevada", "nv" }, |
| 53 { "new hampshire", "nh" }, |
| 54 { "new jersey", "nj" }, |
| 55 { "new mexico", "nm" }, |
| 56 { "new york", "ny" }, |
| 57 { "north carolina", "nc" }, |
| 58 { "north dakota", "nd" }, |
| 59 { "ohio", "oh" }, |
| 60 { "oklahoma", "ok" }, |
| 61 { "oregon", "or" }, |
| 62 { "pennsylvania", "pa" }, |
| 63 { "puerto rico", "pr" }, |
| 64 { "rhode island", "ri" }, |
| 65 { "south carolina", "sc" }, |
| 66 { "south dakota", "sd" }, |
| 67 { "tennessee", "tn" }, |
| 68 { "texas", "tx" }, |
| 69 { "utah", "ut" }, |
| 70 { "vermont", "vt" }, |
| 71 { "virginia", "va" }, |
| 72 { "washington", "wa" }, |
| 73 { "west virginia", "wv" }, |
| 74 { "wisconsin", "wi" }, |
| 75 { "wyoming", "wy" }, |
| 76 }; |
| 77 |
| 78 } // namespace |
| 79 |
| 80 base::string16 GetAbbreviationForName(const base::string16& name) { |
| 81 for (size_t i = 0; i < arraysize(kStateData); ++i) { |
| 82 const StateData& state = kStateData[i]; |
| 83 if (LowerCaseEqualsASCII(name, state.name)) |
| 84 return ASCIIToUTF16(state.abbreviation); |
| 85 } |
| 86 return base::string16(); |
| 87 } |
| 88 |
| 89 base::string16 GetNameForAbbreviation(const base::string16& abbreviation) { |
| 90 for (size_t i = 0; i < arraysize(kStateData); ++i) { |
| 91 const StateData& state = kStateData[i]; |
| 92 if (LowerCaseEqualsASCII(abbreviation, state.abbreviation)) |
| 93 return ASCIIToUTF16(state.name); |
| 94 } |
| 95 return base::string16(); |
| 96 } |
| 97 |
| 98 } // namespace state_names |
| 99 } // namespace autofill |
OLD | NEW |