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

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

Issue 2923533002: [Merge M60][Payments] Do not select an address if the merchant doesn't support it (Closed)
Patch Set: Created 3 years, 6 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/payment_request_item_list.cc
diff --git a/chrome/browser/ui/views/payments/payment_request_item_list.cc b/chrome/browser/ui/views/payments/payment_request_item_list.cc
index f9a6cea6789b8cf13647111336ba3d161835da76..d9cb675b7e6b5440588b4951696164696db8a217 100644
--- a/chrome/browser/ui/views/payments/payment_request_item_list.cc
+++ b/chrome/browser/ui/views/payments/payment_request_item_list.cc
@@ -41,44 +41,6 @@ PaymentRequestItemList::Item::Item(PaymentRequestSpec* spec,
PaymentRequestItemList::Item::~Item() {}
-views::View* PaymentRequestItemList::Item::GetItemView() {
- if (!item_view_) {
- item_view_ = CreateItemView();
- item_view_->set_owned_by_client();
- }
-
- return item_view_.get();
-}
-
-void PaymentRequestItemList::Item::SetSelected(bool selected, bool notify) {
- selected_ = selected;
-
- // This could be called before CreateItemView, so before |checkmark_| is
- // instantiated.
- if (checkmark_)
- checkmark_->SetVisible(selected_);
-
- if (notify)
- SelectedStateChanged();
-}
-
-std::unique_ptr<views::ImageView> PaymentRequestItemList::Item::CreateCheckmark(
- bool selected) {
- std::unique_ptr<views::ImageView> checkmark =
- base::MakeUnique<views::ImageView>();
- checkmark->set_id(static_cast<int>(DialogViewID::CHECKMARK_VIEW));
- checkmark->set_can_process_events_within_subtree(false);
- checkmark->set_owned_by_client();
- checkmark->SetImage(
- gfx::CreateVectorIcon(views::kMenuCheckIcon, kCheckmarkColor));
- checkmark->SetVisible(selected);
- return checkmark;
-}
-
-std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateExtraView() {
- return nullptr;
-}
-
std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateItemView() {
std::unique_ptr<views::View> content = CreateContentView();
@@ -125,7 +87,7 @@ std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateItemView() {
content->set_can_process_events_within_subtree(false);
layout->AddView(content.release());
- checkmark_ = CreateCheckmark(selected());
+ checkmark_ = CreateCheckmark(selected() && IsEnabled());
layout->AddView(checkmark_.get());
if (extra_view)
@@ -147,6 +109,35 @@ std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateItemView() {
return std::move(row);
}
+void PaymentRequestItemList::Item::SetSelected(bool selected, bool notify) {
+ selected_ = selected;
+
+ // This could be called before CreateItemView, so before |checkmark_| is
+ // instantiated.
+ if (checkmark_)
+ checkmark_->SetVisible(selected_);
+
+ if (notify)
+ SelectedStateChanged();
+}
+
+std::unique_ptr<views::ImageView> PaymentRequestItemList::Item::CreateCheckmark(
+ bool selected) {
+ std::unique_ptr<views::ImageView> checkmark =
+ base::MakeUnique<views::ImageView>();
+ checkmark->set_id(static_cast<int>(DialogViewID::CHECKMARK_VIEW));
+ checkmark->set_can_process_events_within_subtree(false);
+ checkmark->set_owned_by_client();
+ checkmark->SetImage(
+ gfx::CreateVectorIcon(views::kMenuCheckIcon, kCheckmarkColor));
+ checkmark->SetVisible(selected);
+ return checkmark;
+}
+
+std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateExtraView() {
+ return nullptr;
+}
+
void PaymentRequestItemList::Item::ButtonPressed(views::Button* sender,
const ui::Event& event) {
if (sender->id() == static_cast<int>(DialogViewID::EDIT_ITEM_BUTTON)) {
@@ -180,9 +171,8 @@ std::unique_ptr<views::View> PaymentRequestItemList::CreateListView() {
views::BoxLayout::kVertical, 0, kPaymentRequestRowVerticalInsets, 0);
content_view->SetLayoutManager(layout);
- for (auto& item : items_) {
- content_view->AddChildView(item->GetItemView());
- }
+ for (auto& item : items_)
+ content_view->AddChildView(item->CreateItemView().release());
return content_view;
}

Powered by Google App Engine
This is Rietveld 408576698