| Index: chrome/browser/ui/views/payments/payment_request_views_util.cc
|
| diff --git a/chrome/browser/ui/views/payments/payment_request_views_util.cc b/chrome/browser/ui/views/payments/payment_request_views_util.cc
|
| index 2c8e2dd5e55f77366b448054f95a2dd89d637f6d..e48f5c33f50fe5b71cd8f1fbdf4004bd7dff9ffe 100644
|
| --- a/chrome/browser/ui/views/payments/payment_request_views_util.cc
|
| +++ b/chrome/browser/ui/views/payments/payment_request_views_util.cc
|
| @@ -14,7 +14,9 @@
|
| #include "components/autofill/core/browser/autofill_profile.h"
|
| #include "components/autofill/core/browser/autofill_type.h"
|
| #include "components/autofill/core/browser/field_types.h"
|
| +#include "components/strings/grit/components_strings.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
| #include "ui/gfx/canvas.h"
|
| #include "ui/gfx/geometry/insets.h"
|
| #include "ui/gfx/geometry/point_f.h"
|
| @@ -23,9 +25,11 @@
|
| #include "ui/views/border.h"
|
| #include "ui/views/bubble/bubble_frame_view.h"
|
| #include "ui/views/controls/button/button.h"
|
| +#include "ui/views/controls/button/md_text_button.h"
|
| #include "ui/views/controls/button/vector_icon_button.h"
|
| #include "ui/views/controls/label.h"
|
| #include "ui/views/controls/styled_label.h"
|
| +#include "ui/views/layout/box_layout.h"
|
| #include "ui/views/layout/grid_layout.h"
|
| #include "ui/views/painter.h"
|
| #include "ui/views/view.h"
|
| @@ -118,7 +122,8 @@ std::unique_ptr<views::View> CreateSheetHeaderView(
|
|
|
| std::unique_ptr<views::View> CreatePaymentView(
|
| std::unique_ptr<views::View> header_view,
|
| - std::unique_ptr<views::View> content_view) {
|
| + std::unique_ptr<views::View> content_view,
|
| + std::unique_ptr<views::View> buttons_view) {
|
| std::unique_ptr<views::View> view = base::MakeUnique<views::View>();
|
| view->set_background(views::Background::CreateSolidBackground(SK_ColorWHITE));
|
|
|
| @@ -144,6 +149,10 @@ std::unique_ptr<views::View> CreatePaymentView(
|
| // |content_view| will be deleted when |view| is.
|
| layout->AddView(content_view.release());
|
|
|
| + layout->AddPaddingRow(1, 0);
|
| + layout->StartRow(0, 0);
|
| + layout->AddView(buttons_view.release());
|
| +
|
| return view;
|
| }
|
|
|
| @@ -221,4 +230,48 @@ std::unique_ptr<views::Border> CreatePaymentRequestRowBorder() {
|
| gfx::Insets());
|
| }
|
|
|
| +std::unique_ptr<views::View> CreateButtonsView(
|
| + PaymentRequestSheetController* controller) {
|
| + std::unique_ptr<views::View> container = base::MakeUnique<views::View>();
|
| +
|
| + views::GridLayout* layout = new views::GridLayout(container.get());
|
| + container->SetLayoutManager(layout);
|
| +
|
| + views::ColumnSet* columns = layout->AddColumnSet(0);
|
| + columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER,
|
| + 0, views::GridLayout::USE_PREF, 0, 0);
|
| + columns->AddPaddingColumn(1, 0);
|
| + columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
|
| + 0, views::GridLayout::USE_PREF, 0, 0);
|
| +
|
| + layout->StartRow(0, 0);
|
| + std::unique_ptr<views::View> leading_buttons_container =
|
| + base::MakeUnique<views::View>();
|
| +
|
| + // TODO(anthonyvd): Add the other buttons that can eventually go into this
|
| + // footer.
|
| +
|
| + layout->AddView(leading_buttons_container.release());
|
| +
|
| + std::unique_ptr<views::View> trailing_buttons_container =
|
| + base::MakeUnique<views::View>();
|
| +
|
| + constexpr int kButtonSpacing = 10;
|
| + trailing_buttons_container->SetLayoutManager(new views::BoxLayout(
|
| + views::BoxLayout::kHorizontal,
|
| + kPaymentRequestRowHorizontalInsets,
|
| + kPaymentRequestRowVerticalInsets,
|
| + kButtonSpacing));
|
| +
|
| + views::LabelButton* button = views::MdTextButton::CreateSecondaryUiButton(
|
| + controller,
|
| + l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_CANCEL_BUTTON_LABEL));
|
| + button->set_tag(static_cast<int>(PaymentRequestCommonTags::CLOSE_BUTTON_TAG));
|
| + trailing_buttons_container->AddChildView(button);
|
| +
|
| + layout->AddView(trailing_buttons_container.release());
|
| +
|
| + return container;
|
| +}
|
| +
|
| } // namespace payments
|
|
|