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

Side by Side Diff: components/autofill/core/browser/autofill_data_util.cc

Issue 2889453004: [Payments] Use Autofill card assets for Payment Request (Closed)
Patch Set: different amex icon Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/autofill/core/browser/autofill_data_util.h" 5 #include "components/autofill/core/browser/autofill_data_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/i18n/char_iterator.h" 10 #include "base/i18n/char_iterator.h"
11 #include "base/strings/string_piece.h" 11 #include "base/strings/string_piece.h"
12 #include "base/strings/string_split.h" 12 #include "base/strings/string_split.h"
13 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "components/autofill/core/browser/field_types.h" 15 #include "components/autofill/core/browser/field_types.h"
16 #include "components/grit/components_scaled_resources.h" 16 #include "components/grit/components_scaled_resources.h"
17 #include "components/strings/grit/components_strings.h" 17 #include "components/strings/grit/components_strings.h"
18 #include "third_party/icu/source/common/unicode/uscript.h" 18 #include "third_party/icu/source/common/unicode/uscript.h"
19 #include "third_party/re2/src/re2/re2.h" 19 #include "third_party/re2/src/re2/re2.h"
20 20
21 namespace autofill { 21 namespace autofill {
22 namespace data_util { 22 namespace data_util {
23 23
24 namespace { 24 namespace {
25 // Mappings from Chrome card types to Payment Request API basic card payment 25 // Mappings from Chrome card types to Payment Request API basic card payment
26 // spec types and icons. Note that "generic" is not in the spec. 26 // spec types and icons. Note that "generic" is not in the spec.
27 // https://w3c.github.io/webpayments-methods-card/#method-id 27 // https://w3c.github.io/webpayments-methods-card/#method-id
28 #if defined(OS_ANDROID)
29 // On Android, use the PR-specific resource IDs.
28 const PaymentRequestData kPaymentRequestData[]{ 30 const PaymentRequestData kPaymentRequestData[]{
29 {"americanExpressCC", "amex", IDR_AUTOFILL_PR_AMEX, IDS_AUTOFILL_CC_AMEX}, 31 {"americanExpressCC", "amex", IDR_AUTOFILL_PR_AMEX, IDS_AUTOFILL_CC_AMEX},
30 {"dinersCC", "diners", IDR_AUTOFILL_PR_DINERS, IDS_AUTOFILL_CC_DINERS}, 32 {"dinersCC", "diners", IDR_AUTOFILL_PR_DINERS, IDS_AUTOFILL_CC_DINERS},
31 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER, 33 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER,
32 IDS_AUTOFILL_CC_DISCOVER}, 34 IDS_AUTOFILL_CC_DISCOVER},
33 {"jcbCC", "jcb", IDR_AUTOFILL_PR_JCB, IDS_AUTOFILL_CC_JCB}, 35 {"jcbCC", "jcb", IDR_AUTOFILL_PR_JCB, IDS_AUTOFILL_CC_JCB},
34 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD, 36 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD,
35 IDS_AUTOFILL_CC_MASTERCARD}, 37 IDS_AUTOFILL_CC_MASTERCARD},
36 {"mirCC", "mir", IDR_AUTOFILL_PR_MIR, IDS_AUTOFILL_CC_MIR}, 38 {"mirCC", "mir", IDR_AUTOFILL_PR_MIR, IDS_AUTOFILL_CC_MIR},
37 {"unionPayCC", "unionpay", IDR_AUTOFILL_PR_UNIONPAY, 39 {"unionPayCC", "unionpay", IDR_AUTOFILL_PR_UNIONPAY,
38 IDS_AUTOFILL_CC_UNION_PAY}, 40 IDS_AUTOFILL_CC_UNION_PAY},
39 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA, IDS_AUTOFILL_CC_VISA}, 41 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA, IDS_AUTOFILL_CC_VISA},
40 }; 42 };
41 const PaymentRequestData kGenericPaymentRequestData = { 43 const PaymentRequestData kGenericPaymentRequestData = {
42 "genericCC", "generic", IDR_AUTOFILL_PR_GENERIC, IDS_AUTOFILL_CC_GENERIC}; 44 "genericCC", "generic", IDR_AUTOFILL_PR_GENERIC, IDS_AUTOFILL_CC_GENERIC};
45 #else // !defined(OS_ANDROID)
46 // On other platforms, use the Autofill resource IDs.
47 const PaymentRequestData kPaymentRequestData[]{
48 {"americanExpressCC", "amex", IDR_AUTOFILL_CC_AMEX, IDS_AUTOFILL_CC_AMEX},
49 {"dinersCC", "diners", IDR_AUTOFILL_CC_DINERS, IDS_AUTOFILL_CC_DINERS},
50 {"discoverCC", "discover", IDR_AUTOFILL_CC_DISCOVER,
51 IDS_AUTOFILL_CC_DISCOVER},
52 {"jcbCC", "jcb", IDR_AUTOFILL_CC_JCB, IDS_AUTOFILL_CC_JCB},
53 {"masterCardCC", "mastercard", IDR_AUTOFILL_CC_MASTERCARD,
54 IDS_AUTOFILL_CC_MASTERCARD},
55 {"mirCC", "mir", IDR_AUTOFILL_CC_MIR, IDS_AUTOFILL_CC_MIR},
56 {"unionPayCC", "unionpay", IDR_AUTOFILL_CC_UNIONPAY,
57 IDS_AUTOFILL_CC_UNION_PAY},
58 {"visaCC", "visa", IDR_AUTOFILL_CC_VISA, IDS_AUTOFILL_CC_VISA},
59 };
60 const PaymentRequestData kGenericPaymentRequestData = {
61 "genericCC", "generic", IDR_AUTOFILL_CC_GENERIC, IDS_AUTOFILL_CC_GENERIC};
62 #endif
43 63
44 const char* const name_prefixes[] = { 64 const char* const name_prefixes[] = {
45 "1lt", "1st", "2lt", "2nd", "3rd", "admiral", "capt", 65 "1lt", "1st", "2lt", "2nd", "3rd", "admiral", "capt",
46 "captain", "col", "cpt", "dr", "gen", "general", "lcdr", 66 "captain", "col", "cpt", "dr", "gen", "general", "lcdr",
47 "lt", "ltc", "ltg", "ltjg", "maj", "major", "mg", 67 "lt", "ltc", "ltg", "ltjg", "maj", "major", "mg",
48 "mr", "mrs", "ms", "pastor", "prof", "rep", "reverend", 68 "mr", "mrs", "ms", "pastor", "prof", "rep", "reverend",
49 "rev", "sen", "st"}; 69 "rev", "sen", "st"};
50 70
51 const char* const name_suffixes[] = {"b.a", "ba", "d.d.s", "dds", "i", "ii", 71 const char* const name_suffixes[] = {"b.a", "ba", "d.d.s", "dds", "i", "ii",
52 "iii", "iv", "ix", "jr", "m.a", "m.d", 72 "iii", "iv", "ix", "jr", "m.a", "m.d",
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 452
433 return re2::RE2::FullMatch(country_code, "^[A-Z]{2}$"); 453 return re2::RE2::FullMatch(country_code, "^[A-Z]{2}$");
434 } 454 }
435 455
436 bool IsValidCountryCode(const base::string16& country_code) { 456 bool IsValidCountryCode(const base::string16& country_code) {
437 return IsValidCountryCode(base::UTF16ToUTF8(country_code)); 457 return IsValidCountryCode(base::UTF16ToUTF8(country_code));
438 } 458 }
439 459
440 } // namespace data_util 460 } // namespace data_util
441 } // namespace autofill 461 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698