| Index: chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
|
| diff --git a/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc b/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
|
| index fdb9fa00dcb12b53916d28a2cd59fe35b0761f7c..7841f9b43412ee036f6f0707763d32d4b080d882 100644
|
| --- a/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
|
| +++ b/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
|
| @@ -34,6 +34,7 @@
|
| #include "components/autofill/core/common/autofill_constants.h"
|
| #include "components/payments/content/payment_request_spec.h"
|
| #include "components/payments/content/payment_request_state.h"
|
| +#include "components/payments/core/payment_request_data_util.h"
|
| #include "components/strings/grit/components_strings.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/gfx/geometry/insets.h"
|
| @@ -136,29 +137,6 @@ class ExpirationDateValidationDelegate : public ValidationDelegate {
|
| DISALLOW_COPY_AND_ASSIGN(ExpirationDateValidationDelegate);
|
| };
|
|
|
| -// Formats card number. For example, "4111111111111111" is formatted into
|
| -// "4111 1111 1111 1111".
|
| -base::string16 FormatCardNumber(const base::string16& text) {
|
| - // Do not format masked card numbers, which start with a letter.
|
| - base::string16 number = autofill::CreditCard::StripSeparators(text);
|
| - if (number.empty() || !base::IsAsciiDigit(number[0]))
|
| - return text;
|
| -
|
| - std::vector<size_t> positions = {4U, 9U, 14U};
|
| - if (autofill::CreditCard::GetCardNetwork(number) ==
|
| - autofill::kAmericanExpressCard) {
|
| - positions = {4U, 11U};
|
| - }
|
| -
|
| - static const base::char16 kSeparator = base::ASCIIToUTF16(" ")[0];
|
| - for (size_t i : positions) {
|
| - if (number.size() > i)
|
| - number.insert(i, 1U, kSeparator);
|
| - }
|
| -
|
| - return number;
|
| -}
|
| -
|
| } // namespace
|
|
|
| CreditCardEditorViewController::CreditCardEditorViewController(
|
| @@ -368,7 +346,9 @@ base::string16 CreditCardEditorViewController::GetInitialValueForType(
|
| base::string16 info = credit_card_to_edit_->GetInfo(
|
| autofill::AutofillType(type), state()->GetApplicationLocale());
|
|
|
| - return type == autofill::CREDIT_CARD_NUMBER ? FormatCardNumber(info) : info;
|
| + return type == autofill::CREDIT_CARD_NUMBER
|
| + ? data_util::FormatCardNumberForDisplay(info)
|
| + : info;
|
| }
|
|
|
| bool CreditCardEditorViewController::ValidateModelAndSave() {
|
| @@ -627,7 +607,7 @@ bool CreditCardEditorViewController::CreditCardValidationDelegate::
|
| base::string16
|
| CreditCardEditorViewController::CreditCardValidationDelegate::Format(
|
| const base::string16& text) {
|
| - return FormatCardNumber(text);
|
| + return data_util::FormatCardNumberForDisplay(text);
|
| }
|
|
|
| bool CreditCardEditorViewController::CreditCardValidationDelegate::
|
|
|