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

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

Issue 2759253002: [Web Payments] Implement item selection in lists. (Closed)
Patch Set: Created 3 years, 9 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 b85a64b9c00d7526323c2d128488dc154cb08294..fc5b25693bb641f122d1019af970dbd9fd429610 100644
--- a/chrome/browser/ui/views/payments/payment_request_item_list.cc
+++ b/chrome/browser/ui/views/payments/payment_request_item_list.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/ui/views/payments/payment_request_item_list.h"
+#include "chrome/browser/ui/views/payments/payment_request_dialog_view.h"
#include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h"
#include "chrome/browser/ui/views/payments/payment_request_row_view.h"
#include "chrome/browser/ui/views/payments/payment_request_views_util.h"
@@ -113,13 +114,14 @@ std::unique_ptr<views::View> PaymentRequestItemList::Item::CreateItemView() {
void PaymentRequestItemList::Item::ButtonPressed(views::Button* sender,
const ui::Event& event) {
if (CanBeSelected()) {
- list()->SelectItem(this);
+ list()->SelectItem(this, /*go_back=*/true);
Mathieu 2017/03/21 13:56:59 Do you think we could do if (CanBeSelected()) {
anthonyvd 2017/03/21 14:56:06 I changed the code to call GoBack in subclasses im
} else {
PerformSelectionFallback();
}
}
-PaymentRequestItemList::PaymentRequestItemList() : selected_item_(nullptr) {}
+PaymentRequestItemList::PaymentRequestItemList(PaymentRequestDialogView* dialog)
+ : selected_item_(nullptr), dialog_(dialog) {}
PaymentRequestItemList::~PaymentRequestItemList() {}
@@ -128,7 +130,7 @@ void PaymentRequestItemList::AddItem(
DCHECK_EQ(this, item->list());
items_.push_back(std::move(item));
if (items_.back()->selected())
- SelectItem(items_.back().get());
+ SelectItem(items_.back().get(), /*go_back=*/false);
}
std::unique_ptr<views::View> PaymentRequestItemList::CreateListView() {
@@ -145,7 +147,8 @@ std::unique_ptr<views::View> PaymentRequestItemList::CreateListView() {
return content_view;
}
-void PaymentRequestItemList::SelectItem(PaymentRequestItemList::Item* item) {
+void PaymentRequestItemList::SelectItem(PaymentRequestItemList::Item* item,
+ bool go_back) {
DCHECK_EQ(this, item->list());
if (selected_item_ == item)
return;
@@ -154,6 +157,8 @@ void PaymentRequestItemList::SelectItem(PaymentRequestItemList::Item* item) {
selected_item_ = item;
item->SetSelected(true);
+ if (go_back)
+ dialog_->GoBack();
}
void PaymentRequestItemList::UnselectSelectedItem() {

Powered by Google App Engine
This is Rietveld 408576698