Index: chrome/browser/ui/views/payments/payment_sheet_view_controller.cc |
diff --git a/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc b/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc |
index 5b1eba8f80a517d577ffe3c92fe8f5fd24a98271..b6d15fd4d6bd360765f6d9672e25c347b2484271 100644 |
--- a/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc |
+++ b/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc |
@@ -194,10 +194,8 @@ PaymentSheetViewController::PaymentSheetViewController( |
PaymentRequestState* state, |
PaymentRequestDialogView* dialog) |
: PaymentRequestSheetController(spec, state, dialog), |
- container_view_(base::MakeUnique<views::View>()), |
pay_button_(nullptr), |
widest_name_column_view_width_(ComputeWidestNameColumnViewWidth()) { |
- container_view_->set_owned_by_client(); |
state->AddObserver(this); |
} |
@@ -205,25 +203,9 @@ PaymentSheetViewController::~PaymentSheetViewController() { |
state()->RemoveObserver(this); |
} |
-std::unique_ptr<views::View> PaymentSheetViewController::CreateView() { |
- std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>(); |
- content_view->SetLayoutManager(new views::FillLayout); |
- |
- UpdateContentView(); |
- content_view->AddChildView(container_view_.get()); |
- |
- return CreatePaymentView( |
- CreateSheetHeaderView( |
- false, |
- l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_PAYMENT_SHEET_TITLE), |
- this), |
- std::move(content_view)); |
-} |
- |
void PaymentSheetViewController::OnSelectedInformationChanged() { |
UpdatePayButtonState(state()->is_ready_to_pay()); |
UpdateContentView(); |
- container_view_->Layout(); |
} |
std::unique_ptr<views::Button> |
@@ -238,6 +220,40 @@ PaymentSheetViewController::CreatePrimaryButton() { |
return button; |
} |
+bool PaymentSheetViewController::ShouldShowHeaderBackArrow() { |
+ return false; |
+} |
+ |
+base::string16 PaymentSheetViewController::GetSheetTitle() { |
+ return l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_PAYMENT_SHEET_TITLE); |
+} |
+ |
+void PaymentSheetViewController::FillContentView(views::View* content_view) { |
+ views::GridLayout* layout = new views::GridLayout(content_view); |
+ content_view->SetLayoutManager(layout); |
+ views::ColumnSet* columns = layout->AddColumnSet(0); |
+ columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 1, |
+ views::GridLayout::USE_PREF, 0, 0); |
+ |
+ // The shipping address and contact info rows are optional. |
+ layout->StartRow(0, 0); |
+ layout->AddView(CreatePaymentSheetSummaryRow().release()); |
+ |
+ if (spec()->request_shipping()) { |
+ layout->StartRow(0, 0); |
+ layout->AddView(CreateShippingRow().release()); |
+ layout->StartRow(0, 0); |
+ layout->AddView(CreateShippingOptionRow().release()); |
+ } |
+ layout->StartRow(0, 0); |
+ layout->AddView(CreatePaymentMethodRow().release()); |
+ if (spec()->request_payer_name() || spec()->request_payer_email() || |
+ spec()->request_payer_phone()) { |
+ layout->StartRow(0, 0); |
+ layout->AddView(CreateContactInfoRow().release()); |
+ } |
+} |
+ |
// Adds the product logo to the footer. |
// +---------------------------------------------------------+ |
// | (•) chrome | PAY | CANCEL | |
@@ -303,33 +319,6 @@ void PaymentSheetViewController::UpdatePayButtonState(bool enabled) { |
pay_button_->SetEnabled(enabled); |
} |
-void PaymentSheetViewController::UpdateContentView() { |
- container_view_->RemoveAllChildViews(/*delete_children=*/true); |
- views::GridLayout* layout = new views::GridLayout(container_view_.get()); |
- container_view_->SetLayoutManager(layout); |
- views::ColumnSet* columns = layout->AddColumnSet(0); |
- columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 1, |
- views::GridLayout::USE_PREF, 0, 0); |
- |
- // The shipping address and contact info rows are optional. |
- layout->StartRow(0, 0); |
- layout->AddView(CreatePaymentSheetSummaryRow().release()); |
- |
- if (spec()->request_shipping()) { |
- layout->StartRow(0, 0); |
- layout->AddView(CreateShippingRow().release()); |
- layout->StartRow(0, 0); |
- layout->AddView(CreateShippingOptionRow().release()); |
- } |
- layout->StartRow(0, 0); |
- layout->AddView(CreatePaymentMethodRow().release()); |
- if (spec()->request_payer_name() || spec()->request_payer_email() || |
- spec()->request_payer_phone()) { |
- layout->StartRow(0, 0); |
- layout->AddView(CreateContactInfoRow().release()); |
- } |
-} |
- |
// Creates the Order Summary row, which contains an "Order Summary" label, |
// an inline list of display items, a Total Amount label, and a Chevron. |
// +----------------------------------------------+ |