| Index: chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
|
| diff --git a/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc b/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
|
| index 4b670432a20084575b5b124a4d40448e9101730b..e1e5aeb24b34c3cb8ce4135f977eca59ab219b1c 100644
|
| --- a/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
|
| +++ b/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
|
| @@ -20,9 +20,9 @@
|
| #include "ui/gfx/image/image_skia.h"
|
| #include "ui/gfx/image/image_skia_source.h"
|
| #include "ui/views/controls/button/checkbox.h"
|
| -#include "ui/views/controls/image_view.h"
|
| #include "ui/views/controls/textfield/textfield.h"
|
| -#include "ui/views/layout/box_layout.h"
|
| +#include "ui/views/layout/grid_layout.h"
|
| +#include "ui/views/layout/layout_provider.h"
|
| #include "ui/views/widget/widget.h"
|
| #include "ui/views/window/dialog_client_view.h"
|
|
|
| @@ -30,8 +30,6 @@ namespace {
|
|
|
| // Minimum width of the the bubble.
|
| const int kMinBubbleWidth = 300;
|
| -// Size of the icon.
|
| -const int kIconSize = extension_misc::EXTENSION_ICON_MEDIUM;
|
|
|
| class WebAppInfoImageSource : public gfx::ImageSkiaSource {
|
| public:
|
| @@ -74,32 +72,48 @@ BookmarkAppConfirmationView::BookmarkAppConfirmationView(
|
| callback_(callback),
|
| open_as_window_checkbox_(nullptr),
|
| title_tf_(nullptr) {
|
| - ChromeLayoutProvider* provider = ChromeLayoutProvider::Get();
|
| - // Align the contents with the dialog buttons.
|
| - views::BoxLayout* layout = new views::BoxLayout(
|
| - views::BoxLayout::kHorizontal,
|
| - provider->GetDistanceMetric(DISTANCE_DIALOG_BUTTON_MARGIN),
|
| - provider->GetDistanceMetric(DISTANCE_PANEL_CONTENT_MARGIN),
|
| - provider->GetDistanceMetric(DISTANCE_UNRELATED_CONTROL_HORIZONTAL_LARGE));
|
| - layout->set_cross_axis_alignment(
|
| - views::BoxLayout::CROSS_AXIS_ALIGNMENT_CENTER);
|
| - SetLayoutManager(layout);
|
| -
|
| + const ChromeLayoutProvider* layout_provider = ChromeLayoutProvider::Get();
|
| + views::GridLayout* layout = views::GridLayout::CreatePanel(this);
|
| + const int column_set_id = 0;
|
| +
|
| + views::ColumnSet* column_set = layout->AddColumnSet(column_set_id);
|
| + column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 0,
|
| + views::GridLayout::USE_PREF, 0, 0);
|
| + column_set->AddPaddingColumn(0,
|
| + layout_provider->GetDistanceMetric(
|
| + views::DISTANCE_RELATED_CONTROL_HORIZONTAL));
|
| + constexpr int textfield_width = 320;
|
| + column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 0,
|
| + views::GridLayout::FIXED, textfield_width, 0);
|
| +
|
| + const int icon_size = layout_provider->IsHarmonyMode()
|
| + ? extension_misc::EXTENSION_ICON_SMALL
|
| + : extension_misc::EXTENSION_ICON_MEDIUM;
|
| views::ImageView* icon_image_view = new views::ImageView();
|
| - gfx::Size image_size(kIconSize, kIconSize);
|
| - gfx::ImageSkia image(new WebAppInfoImageSource(kIconSize, web_app_info_),
|
| + gfx::Size image_size(icon_size, icon_size);
|
| + gfx::ImageSkia image(new WebAppInfoImageSource(icon_size, web_app_info_),
|
| image_size);
|
| icon_image_view->SetImageSize(image_size);
|
| icon_image_view->SetImage(image);
|
| - AddChildView(icon_image_view);
|
| + layout->StartRow(0, column_set_id);
|
| + layout->AddView(icon_image_view);
|
|
|
| title_tf_ = new views::Textfield();
|
| title_tf_->SetText(web_app_info_.title);
|
| title_tf_->SetAccessibleName(
|
| l10n_util::GetStringUTF16(IDS_BOOKMARK_APP_AX_BUBBLE_NAME_LABEL));
|
| title_tf_->set_controller(this);
|
| - AddChildView(title_tf_);
|
| - layout->SetFlexForView(title_tf_, 1);
|
| + layout->AddView(title_tf_);
|
| +
|
| + layout->AddPaddingRow(
|
| + 0, layout_provider->GetDistanceMetric(DISTANCE_CONTROL_LIST_VERTICAL));
|
| +
|
| + open_as_window_checkbox_ = new views::Checkbox(
|
| + l10n_util::GetStringUTF16(IDS_BOOKMARK_APP_BUBBLE_OPEN_AS_WINDOW));
|
| + open_as_window_checkbox_->SetChecked(web_app_info_.open_as_window);
|
| + layout->StartRow(0, column_set_id);
|
| + layout->SkipColumns(1);
|
| + layout->AddView(open_as_window_checkbox_);
|
|
|
| title_tf_->SelectAll(true);
|
| }
|
| @@ -131,13 +145,6 @@ void BookmarkAppConfirmationView::WindowClosing() {
|
| callback_.Run(false, web_app_info_);
|
| }
|
|
|
| -views::View* BookmarkAppConfirmationView::CreateExtraView() {
|
| - open_as_window_checkbox_ = new views::Checkbox(
|
| - l10n_util::GetStringUTF16(IDS_BOOKMARK_APP_BUBBLE_OPEN_AS_WINDOW));
|
| - open_as_window_checkbox_->SetChecked(web_app_info_.open_as_window);
|
| - return open_as_window_checkbox_;
|
| -}
|
| -
|
| bool BookmarkAppConfirmationView::Accept() {
|
| web_app_info_.title = GetTrimmedTitle();
|
| web_app_info_.open_as_window = open_as_window_checkbox_->checked();
|
|
|