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

Side by Side Diff: chrome/browser/ui/views/payments/payment_sheet_view_controller.cc

Issue 2849523003: Add billing address as a mandatory field of Payments credit cards. (Closed)
Patch Set: Components Unittests fix 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 "chrome/browser/ui/views/payments/payment_sheet_view_controller.h" 5 #include "chrome/browser/ui/views/payments/payment_sheet_view_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // Tags for the buttons in the payment sheet 58 // Tags for the buttons in the payment sheet
59 enum class PaymentSheetViewControllerTags { 59 enum class PaymentSheetViewControllerTags {
60 SHOW_ORDER_SUMMARY_BUTTON = kFirstTagValue, // Navigate to order summary 60 SHOW_ORDER_SUMMARY_BUTTON = kFirstTagValue, // Navigate to order summary
61 SHOW_SHIPPING_BUTTON, // Navigate to the shipping address screen 61 SHOW_SHIPPING_BUTTON, // Navigate to the shipping address screen
62 ADD_SHIPPING_BUTTON, // Navigate to the shipping address editor 62 ADD_SHIPPING_BUTTON, // Navigate to the shipping address editor
63 SHOW_PAYMENT_METHOD_BUTTON, // Navigate to the payment method screen 63 SHOW_PAYMENT_METHOD_BUTTON, // Navigate to the payment method screen
64 ADD_PAYMENT_METHOD_BUTTON, // Navigate to the payment method editor 64 ADD_PAYMENT_METHOD_BUTTON, // Navigate to the payment method editor
65 SHOW_CONTACT_INFO_BUTTON, // Navigate to the contact info screen 65 SHOW_CONTACT_INFO_BUTTON, // Navigate to the contact info screen
66 ADD_CONTACT_INFO_BUTTON, // Navigate to the contact info editor 66 ADD_CONTACT_INFO_BUTTON, // Navigate to the contact info editor
67 SHOW_SHIPPING_OPTION_BUTTON, // Navigate to the shipping options screen 67 SHOW_SHIPPING_OPTION_BUTTON, // Navigate to the shipping options screen
68 PAY_BUTTON 68 PAY_BUTTON,
69 MAX_TAG, // Always keep last.
69 }; 70 };
70 71
71 // A class that ensures proper elision of labels in the form 72 // A class that ensures proper elision of labels in the form
72 // "[preview] and N more" where preview might be elided to allow "and N more" to 73 // "[preview] and N more" where preview might be elided to allow "and N more" to
73 // be always visible. 74 // be always visible.
74 class PreviewEliderLabel : public views::Label { 75 class PreviewEliderLabel : public views::Label {
75 public: 76 public:
76 // Creates a PreviewEliderLabel where |preview_text| might be elided, 77 // Creates a PreviewEliderLabel where |preview_text| might be elided,
77 // |format_string| is the string with format argument numbers in ICU syntax 78 // |format_string| is the string with format argument numbers in ICU syntax
78 // and |n| is the "N more" item count. 79 // and |n| is the "N more" item count.
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 PaymentSheetViewControllerTags::SHOW_ORDER_SUMMARY_BUTTON): 484 PaymentSheetViewControllerTags::SHOW_ORDER_SUMMARY_BUTTON):
484 dialog()->ShowOrderSummary(); 485 dialog()->ShowOrderSummary();
485 break; 486 break;
486 487
487 case static_cast<int>(PaymentSheetViewControllerTags::SHOW_SHIPPING_BUTTON): 488 case static_cast<int>(PaymentSheetViewControllerTags::SHOW_SHIPPING_BUTTON):
488 dialog()->ShowShippingProfileSheet(); 489 dialog()->ShowShippingProfileSheet();
489 break; 490 break;
490 491
491 case static_cast<int>(PaymentSheetViewControllerTags::ADD_SHIPPING_BUTTON): 492 case static_cast<int>(PaymentSheetViewControllerTags::ADD_SHIPPING_BUTTON):
492 dialog()->ShowShippingAddressEditor( 493 dialog()->ShowShippingAddressEditor(
494 BackNavigationType::kPaymentSheet,
493 /*on_edited=*/base::OnceClosure(), // This is always an add. 495 /*on_edited=*/base::OnceClosure(), // This is always an add.
494 /*on_added=*/ 496 /*on_added=*/
495 base::BindOnce(&PaymentRequestState::AddAutofillShippingProfile, 497 base::BindOnce(&PaymentRequestState::AddAutofillShippingProfile,
496 base::Unretained(state()), /*selected=*/true), 498 base::Unretained(state()), /*selected=*/true),
497 nullptr); 499 nullptr);
498 break; 500 break;
499 501
500 case static_cast<int>( 502 case static_cast<int>(
501 PaymentSheetViewControllerTags::SHOW_PAYMENT_METHOD_BUTTON): 503 PaymentSheetViewControllerTags::SHOW_PAYMENT_METHOD_BUTTON):
502 dialog()->ShowPaymentMethodSheet(); 504 dialog()->ShowPaymentMethodSheet();
503 break; 505 break;
504 506
505 case static_cast<int>( 507 case static_cast<int>(
506 PaymentSheetViewControllerTags::ADD_PAYMENT_METHOD_BUTTON): 508 PaymentSheetViewControllerTags::ADD_PAYMENT_METHOD_BUTTON):
507 dialog()->ShowCreditCardEditor( 509 dialog()->ShowCreditCardEditor(
510 BackNavigationType::kPaymentSheet,
511 static_cast<int>(PaymentSheetViewControllerTags::MAX_TAG),
508 /*on_edited=*/base::OnceClosure(), // This is always an add. 512 /*on_edited=*/base::OnceClosure(), // This is always an add.
509 /*on_added=*/ 513 /*on_added=*/
510 base::BindOnce(&PaymentRequestState::AddAutofillPaymentInstrument, 514 base::BindOnce(&PaymentRequestState::AddAutofillPaymentInstrument,
511 base::Unretained(state()), /*selected=*/true), 515 base::Unretained(state()), /*selected=*/true),
512 /*credit_card=*/nullptr); 516 /*credit_card=*/nullptr);
513 517
514 break; 518 break;
515 519
516 case static_cast<int>( 520 case static_cast<int>(
517 PaymentSheetViewControllerTags::SHOW_CONTACT_INFO_BUTTON): 521 PaymentSheetViewControllerTags::SHOW_CONTACT_INFO_BUTTON):
518 dialog()->ShowContactProfileSheet(); 522 dialog()->ShowContactProfileSheet();
519 break; 523 break;
520 524
521 case static_cast<int>( 525 case static_cast<int>(
522 PaymentSheetViewControllerTags::ADD_CONTACT_INFO_BUTTON): 526 PaymentSheetViewControllerTags::ADD_CONTACT_INFO_BUTTON):
523 dialog()->ShowContactInfoEditor(); 527 dialog()->ShowContactInfoEditor(BackNavigationType::kPaymentSheet);
524 break; 528 break;
525 529
526 case static_cast<int>( 530 case static_cast<int>(
527 PaymentSheetViewControllerTags::SHOW_SHIPPING_OPTION_BUTTON): 531 PaymentSheetViewControllerTags::SHOW_SHIPPING_OPTION_BUTTON):
528 dialog()->ShowShippingOptionSheet(); 532 dialog()->ShowShippingOptionSheet();
529 break; 533 break;
530 534
531 default: 535 default:
532 PaymentRequestSheetController::ButtonPressed(sender, event); 536 PaymentRequestSheetController::ButtonPressed(sender, event);
533 break; 537 break;
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 } else { 892 } else {
889 return builder 893 return builder
890 .Id(DialogViewID::PAYMENT_SHEET_SHIPPING_OPTION_SECTION_BUTTON) 894 .Id(DialogViewID::PAYMENT_SHEET_SHIPPING_OPTION_SECTION_BUTTON)
891 .CreateWithButton( 895 .CreateWithButton(
892 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_CHOOSE_AN_ADDRESS), 896 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_CHOOSE_AN_ADDRESS),
893 l10n_util::GetStringUTF16(IDS_CHOOSE), /*button_enabled=*/false); 897 l10n_util::GetStringUTF16(IDS_CHOOSE), /*button_enabled=*/false);
894 } 898 }
895 } 899 }
896 900
897 } // namespace payments 901 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698