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

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

Issue 2855203002: [Payments] Display the shipping option error alongside the address (Closed)
Patch Set: android test 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 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 618
619 return builder.CreateWithChevron(std::move(item_summaries), 619 return builder.CreateWithChevron(std::move(item_summaries),
620 std::move(item_amounts)); 620 std::move(item_amounts));
621 } 621 }
622 622
623 std::unique_ptr<views::View> 623 std::unique_ptr<views::View>
624 PaymentSheetViewController::CreateShippingSectionContent() { 624 PaymentSheetViewController::CreateShippingSectionContent() {
625 if (current_update_reason_ == 625 if (current_update_reason_ ==
626 PaymentRequestSpec::UpdateReason::SHIPPING_ADDRESS) { 626 PaymentRequestSpec::UpdateReason::SHIPPING_ADDRESS) {
627 return CreateCheckingSpinnerView(); 627 return CreateCheckingSpinnerView();
628 }
629
630 autofill::AutofillProfile* profile = state()->selected_shipping_profile();
631 if (!profile)
632 return base::MakeUnique<views::Label>(base::string16());
633
634 // If there is a shipping option error related to the selected address,
635 // display it (without disabling the row because the user should feel like
636 // they can click on it to correct the problem). Otherwise, display the
637 // address possibly with the missing information to make it complete.
638 if (!spec()->selected_shipping_option_error().empty()) {
639 return GetShippingAddressLabelWithError(
640 AddressStyleType::SUMMARY, state()->GetApplicationLocale(), *profile,
641 spec()->selected_shipping_option_error(), /*disabled_state=*/false);
628 } else { 642 } else {
629 auto* profile = state()->selected_shipping_profile(); 643 return GetShippingAddressLabelWithMissingInfo(
630 644 AddressStyleType::SUMMARY, state()->GetApplicationLocale(), *profile,
631 return profile 645 *(state()->profile_comparator()));
632 ? GetShippingAddressLabel(
633 AddressStyleType::SUMMARY, state()->GetApplicationLocale(),
634 *profile, *spec(), *(state()->profile_comparator()))
635 : base::MakeUnique<views::Label>(base::string16());
636 } 646 }
637 } 647 }
638 648
639 // Creates the Shipping row, which contains a "Shipping address" label, the 649 // Creates the Shipping row, which contains a "Shipping address" label, the
640 // user's selected shipping address, and a chevron. 650 // user's selected shipping address, and a chevron.
641 // +----------------------------------------------+ 651 // +----------------------------------------------+
642 // | Shipping Address Barack Obama | 652 // | Shipping Address Barack Obama |
643 // | 1600 Pennsylvania Ave. > | 653 // | 1600 Pennsylvania Ave. > |
644 // | 1800MYPOTUS | 654 // | 1800MYPOTUS |
645 // +----------------------------------------------+ 655 // +----------------------------------------------+
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 } else { 898 } else {
889 return builder 899 return builder
890 .Id(DialogViewID::PAYMENT_SHEET_SHIPPING_OPTION_SECTION_BUTTON) 900 .Id(DialogViewID::PAYMENT_SHEET_SHIPPING_OPTION_SECTION_BUTTON)
891 .CreateWithButton( 901 .CreateWithButton(
892 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_CHOOSE_AN_ADDRESS), 902 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_CHOOSE_AN_ADDRESS),
893 l10n_util::GetStringUTF16(IDS_CHOOSE), /*button_enabled=*/false); 903 l10n_util::GetStringUTF16(IDS_CHOOSE), /*button_enabled=*/false);
894 } 904 }
895 } 905 }
896 906
897 } // namespace payments 907 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698