| Index: chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
|
| diff --git a/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc b/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
|
| index 88ff8bc579dc8397011cfed0205379903d521f52..03a6d0bb6a3eb29c387bd52f0bf0180bbbac8be0 100644
|
| --- a/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
|
| +++ b/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
|
| @@ -13,6 +13,7 @@
|
| #include "ui/views/controls/button/md_text_button.h"
|
| #include "ui/views/controls/scroll_view.h"
|
| #include "ui/views/layout/box_layout.h"
|
| +#include "ui/views/layout/fill_layout.h"
|
| #include "ui/views/layout/grid_layout.h"
|
|
|
| namespace payments {
|
| @@ -23,11 +24,32 @@ PaymentRequestSheetController::PaymentRequestSheetController(
|
| PaymentRequestDialogView* dialog)
|
| : spec_(spec), state_(state), dialog_(dialog) {}
|
|
|
| +PaymentRequestSheetController::~PaymentRequestSheetController() {}
|
| +
|
| +std::unique_ptr<views::View> PaymentRequestSheetController::CreateView() {
|
| + // This will be owned by its encompassing ScrollView.
|
| + content_view_ = new views::View;
|
| +
|
| + FillContentView(content_view_);
|
| +
|
| + return CreatePaymentView();
|
| +}
|
| +
|
| +void PaymentRequestSheetController::UpdateContentView() {
|
| + content_view_->RemoveAllChildViews(true);
|
| + FillContentView(content_view_);
|
| + content_view_->Layout();
|
| +}
|
| +
|
| std::unique_ptr<views::Button>
|
| PaymentRequestSheetController::CreatePrimaryButton() {
|
| return nullptr;
|
| }
|
|
|
| +bool PaymentRequestSheetController::ShouldShowHeaderBackArrow() {
|
| + return true;
|
| +}
|
| +
|
| std::unique_ptr<views::View>
|
| PaymentRequestSheetController::CreateExtraFooterView() {
|
| return nullptr;
|
| @@ -51,9 +73,8 @@ void PaymentRequestSheetController::ButtonPressed(
|
| }
|
| }
|
|
|
| -std::unique_ptr<views::View> PaymentRequestSheetController::CreatePaymentView(
|
| - std::unique_ptr<views::View> header_view,
|
| - std::unique_ptr<views::View> content_view) {
|
| +std::unique_ptr<views::View>
|
| +PaymentRequestSheetController::CreatePaymentView() {
|
| std::unique_ptr<views::View> view = base::MakeUnique<views::View>();
|
| view->set_background(views::Background::CreateSolidBackground(SK_ColorWHITE));
|
|
|
| @@ -71,19 +92,21 @@ std::unique_ptr<views::View> PaymentRequestSheetController::CreatePaymentView(
|
|
|
| layout->StartRow(0, 0);
|
| // |header_view| will be deleted when |view| is.
|
| - layout->AddView(header_view.release());
|
| + layout->AddView(
|
| + CreateSheetHeaderView(ShouldShowHeaderBackArrow(), GetSheetTitle(), this)
|
| + .release());
|
|
|
| layout->StartRow(1, 0);
|
| // |content_view| will go into a views::ScrollView so it needs to be sized now
|
| // otherwise it'll be sized to the ScrollView's viewport height, preventing
|
| // the scroll bar from ever being shown.
|
| - content_view->SizeToPreferredSize();
|
| + content_view_->SizeToPreferredSize();
|
|
|
| std::unique_ptr<views::ScrollView> scroll =
|
| base::MakeUnique<views::ScrollView>();
|
| scroll->EnableViewPortLayer();
|
| scroll->set_hide_horizontal_scrollbar(true);
|
| - scroll->SetContents(content_view.release());
|
| + scroll->SetContents(content_view_);
|
| layout->AddView(scroll.release());
|
|
|
| layout->StartRow(0, 0);
|
|
|