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

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

Issue 2676663002: [Payments] Implements the credit card editor for Desktop UI (Closed)
Patch Set: formatting Created 3 years, 10 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_dialog_view.cc
diff --git a/chrome/browser/ui/views/payments/payment_request_dialog_view.cc b/chrome/browser/ui/views/payments/payment_request_dialog_view.cc
index e9ca82b993bfa56e5964b4e2083572aebc6f3115..60b397579f8cd27e5aa089008602534e8992d4bd 100644
--- a/chrome/browser/ui/views/payments/payment_request_dialog_view.cc
+++ b/chrome/browser/ui/views/payments/payment_request_dialog_view.cc
@@ -8,15 +8,14 @@
#include "base/logging.h"
#include "base/memory/ptr_util.h"
+#include "chrome/browser/ui/views/payments/credit_card_editor_view_controller.h"
#include "chrome/browser/ui/views/payments/order_summary_view_controller.h"
#include "chrome/browser/ui/views/payments/payment_method_view_controller.h"
#include "chrome/browser/ui/views/payments/payment_sheet_view_controller.h"
#include "chrome/browser/ui/views/payments/shipping_list_view_controller.h"
-#include "chrome/grit/generated_resources.h"
#include "components/constrained_window/constrained_window_views.h"
#include "components/payments/payment_request.h"
#include "content/public/browser/browser_thread.h"
-#include "ui/base/l10n/l10n_util.h"
#include "ui/views/layout/fill_layout.h"
namespace chrome {
@@ -36,13 +35,9 @@ namespace {
// subclass of concrete type |Controller|, passing it non-owned pointers to
// |dialog| and the |request| that initiated that dialog. |map| should be owned
// by |dialog|.
-template <typename Controller>
std::unique_ptr<views::View> CreateViewAndInstallController(
- payments::ControllerMap* map,
- payments::PaymentRequest* request,
- payments::PaymentRequestDialogView* dialog) {
- std::unique_ptr<Controller> controller =
- base::MakeUnique<Controller>(request, dialog);
+ std::unique_ptr<PaymentRequestSheetController> controller,
+ payments::ControllerMap* map) {
std::unique_ptr<views::View> view = controller->CreateView();
(*map)[view.get()] = std::move(controller);
return view;
@@ -96,27 +91,47 @@ int PaymentRequestDialogView::GetDialogButtons() const {
void PaymentRequestDialogView::GoBack() {
view_stack_.Pop();
+
+ if (observer_for_testing_)
+ observer_for_testing_->OnBackNavigation();
}
void PaymentRequestDialogView::ShowOrderSummary() {
- view_stack_.Push(CreateViewAndInstallController<OrderSummaryViewController>(
- &controller_map_, request_, this),
- /* animate = */ true);
-
+ view_stack_.Push(
+ CreateViewAndInstallController(
+ base::MakeUnique<OrderSummaryViewController>(request_, this),
+ &controller_map_),
+ /* animate = */ true);
if (observer_for_testing_)
observer_for_testing_->OnOrderSummaryOpened();
}
void PaymentRequestDialogView::ShowPaymentMethodSheet() {
- view_stack_.Push(CreateViewAndInstallController<PaymentMethodViewController>(
- &controller_map_, request_, this),
- /* animate = */ true);
+ view_stack_.Push(
+ CreateViewAndInstallController(
+ base::MakeUnique<PaymentMethodViewController>(request_, this),
+ &controller_map_),
+ /* animate = */ true);
+ if (observer_for_testing_)
+ observer_for_testing_->OnPaymentMethodOpened();
}
void PaymentRequestDialogView::ShowShippingListSheet() {
- view_stack_.Push(CreateViewAndInstallController<ShippingListViewController>(
- &controller_map_, request_, this),
- /* animate = */ true);
+ view_stack_.Push(
+ CreateViewAndInstallController(
+ base::MakeUnique<ShippingListViewController>(request_, this),
+ &controller_map_),
+ /* animate = */ true);
+}
+
+void PaymentRequestDialogView::ShowCreditCardEditor() {
+ view_stack_.Push(
+ CreateViewAndInstallController(
+ base::MakeUnique<CreditCardEditorViewController>(request_, this),
+ &controller_map_),
+ /* animate = */ true);
+ if (observer_for_testing_)
+ observer_for_testing_->OnCreditCardEditorOpened();
}
void PaymentRequestDialogView::ShowDialog() {
@@ -129,9 +144,11 @@ void PaymentRequestDialogView::CloseDialog() {
}
void PaymentRequestDialogView::ShowInitialPaymentSheet() {
- view_stack_.Push(CreateViewAndInstallController<PaymentSheetViewController>(
- &controller_map_, request_, this),
- /* animate = */ false);
+ view_stack_.Push(
+ CreateViewAndInstallController(
+ base::MakeUnique<PaymentSheetViewController>(request_, this),
+ &controller_map_),
+ /* animate = */ false);
if (observer_for_testing_)
observer_for_testing_->OnDialogOpened();
}

Powered by Google App Engine
This is Rietveld 408576698