| Index: chrome/browser/ui/views/payments/order_summary_view_controller.cc
|
| diff --git a/chrome/browser/ui/views/payments/order_summary_view_controller.cc b/chrome/browser/ui/views/payments/order_summary_view_controller.cc
|
| index 3589cc32eaae80b8213377530358903814bd3463..c2dc0896baaa3e69459de1206aff58c5e08617f5 100644
|
| --- a/chrome/browser/ui/views/payments/order_summary_view_controller.cc
|
| +++ b/chrome/browser/ui/views/payments/order_summary_view_controller.cc
|
| @@ -15,12 +15,12 @@
|
| #include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h"
|
| #include "chrome/browser/ui/views/payments/payment_request_views_util.h"
|
| #include "chrome/grit/generated_resources.h"
|
| -#include "components/payments/content/payment_request.h"
|
| #include "components/payments/core/currency_formatter.h"
|
| #include "components/strings/grit/components_strings.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/gfx/font.h"
|
| #include "ui/views/border.h"
|
| +#include "ui/views/controls/button/md_text_button.h"
|
| #include "ui/views/controls/label.h"
|
| #include "ui/views/controls/styled_label.h"
|
| #include "ui/views/layout/box_layout.h"
|
| @@ -84,9 +84,13 @@ std::unique_ptr<views::View> CreateLineItemView(const base::string16& label,
|
| OrderSummaryViewController::OrderSummaryViewController(
|
| PaymentRequest* request,
|
| PaymentRequestDialogView* dialog)
|
| - : PaymentRequestSheetController(request, dialog) {}
|
| + : PaymentRequestSheetController(request, dialog), pay_button_(nullptr) {
|
| + request->AddObserver(this);
|
| +}
|
|
|
| -OrderSummaryViewController::~OrderSummaryViewController() {}
|
| +OrderSummaryViewController::~OrderSummaryViewController() {
|
| + request()->RemoveObserver(this);
|
| +}
|
|
|
| std::unique_ptr<views::View> OrderSummaryViewController::CreateView() {
|
| std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>();
|
| @@ -139,4 +143,24 @@ std::unique_ptr<views::View> OrderSummaryViewController::CreateView() {
|
| std::move(content_view));
|
| }
|
|
|
| +std::unique_ptr<views::Button>
|
| +OrderSummaryViewController::CreatePrimaryButton() {
|
| + std::unique_ptr<views::Button> button(
|
| + views::MdTextButton::CreateSecondaryUiBlueButton(
|
| + this, l10n_util::GetStringUTF16(IDS_PAYMENTS_PAY_BUTTON)));
|
| + button->set_tag(static_cast<int>(PaymentRequestCommonTags::PAY_BUTTON_TAG));
|
| + button->set_id(static_cast<int>(DialogViewID::PAY_BUTTON));
|
| + pay_button_ = button.get();
|
| + UpdatePayButtonState(request()->is_ready_to_pay());
|
| + return button;
|
| +}
|
| +
|
| +void OrderSummaryViewController::OnSelectedInformationChanged() {
|
| + UpdatePayButtonState(request()->is_ready_to_pay());
|
| +}
|
| +
|
| +void OrderSummaryViewController::UpdatePayButtonState(bool enabled) {
|
| + pay_button_->SetEnabled(enabled);
|
| +}
|
| +
|
| } // namespace payments
|
|
|