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

Unified Diff: chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc

Issue 2881643002: Focus first invalid field of payment request editor (Closed)
Patch Set: Rebase 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 side-by-side diff with in-line comments
Download patch
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 4562c3355bb6b68a5de560009b3982c2e1ddb481..8722e18bfb3a43d5a63ae94d4bdb5e2d563b4c72 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
@@ -168,7 +168,7 @@ std::unique_ptr<views::View>
CreditCardEditorViewController::CreateExtraViewForField(
autofill::ServerFieldType type) {
if (type != kBillingAddressType)
- return nullptr;
+ return std::unique_ptr<views::View>();
anthonyvd 2017/05/12 14:19:44 nit: just nullptr was fine and it's what we use el
MAD 2017/05/18 16:01:44 Done.
std::unique_ptr<views::View> button_view = base::MakeUnique<views::View>();
button_view->SetLayoutManager(new views::FillLayout);
@@ -390,12 +390,12 @@ CreditCardEditorViewController::CreditCardValidationDelegate::
~CreditCardValidationDelegate() {}
bool CreditCardEditorViewController::CreditCardValidationDelegate::
- ValidateTextfield(views::Textfield* textfield) {
- return ValidateValue(textfield->text());
+ ValidateTextfield(views::Textfield* textfield, bool display_error) {
+ return ValidateValue(textfield->text(), display_error);
}
bool CreditCardEditorViewController::CreditCardValidationDelegate::
- ValidateCombobox(views::Combobox* combobox) {
+ ValidateCombobox(views::Combobox* combobox, bool display_error) {
// The billing address ID is the selected item identifier and not the combobox
// value itself.
if (field_.type == kBillingAddressType) {
@@ -405,11 +405,12 @@ bool CreditCardEditorViewController::CreditCardValidationDelegate::
static_cast<autofill::AddressComboboxModel*>(combobox->model());
return !model->GetItemIdentifierAt(combobox->selected_index()).empty();
}
- return ValidateValue(combobox->GetTextForRow(combobox->selected_index()));
+ return ValidateValue(combobox->GetTextForRow(combobox->selected_index()),
+ display_error);
}
bool CreditCardEditorViewController::CreditCardValidationDelegate::
- ValidateValue(const base::string16& value) {
+ ValidateValue(const base::string16& value, bool display_error) {
if (!value.empty()) {
base::string16 error_message;
bool is_valid =
@@ -417,7 +418,8 @@ bool CreditCardEditorViewController::CreditCardValidationDelegate::
? autofill::IsValidCreditCardNumberForBasicCardNetworks(
value, supported_card_networks_, &error_message)
: autofill::IsValidForType(value, field_.type, &error_message);
- controller_->DisplayErrorMessageForField(field_, error_message);
+ if (display_error)
+ controller_->DisplayErrorMessageForField(field_, error_message);
return is_valid;
}
@@ -426,7 +428,8 @@ bool CreditCardEditorViewController::CreditCardValidationDelegate::
is_required_valid ? base::ASCIIToUTF16("")
: l10n_util::GetStringUTF16(
IDS_PAYMENTS_FIELD_REQUIRED_VALIDATION_MESSAGE);
- controller_->DisplayErrorMessageForField(field_, displayed_message);
+ if (display_error)
+ controller_->DisplayErrorMessageForField(field_, displayed_message);
return is_required_valid;
}

Powered by Google App Engine
This is Rietveld 408576698