Index: chrome/browser/ui/views/content_setting_bubble_contents.cc |
diff --git a/chrome/browser/ui/views/content_setting_bubble_contents.cc b/chrome/browser/ui/views/content_setting_bubble_contents.cc |
index 423bcc2f675ce27ee0302596ce4ca266cd6d58d1..2f198b5d71804eb5094f5803ea255fa8d512455c 100644 |
--- a/chrome/browser/ui/views/content_setting_bubble_contents.cc |
+++ b/chrome/browser/ui/views/content_setting_bubble_contents.cc |
@@ -18,17 +18,20 @@ |
#include "chrome/browser/plugins/plugin_metadata.h" |
#include "chrome/browser/ui/content_settings/content_setting_bubble_model.h" |
#include "chrome/browser/ui/layout_constants.h" |
+#include "chrome/browser/ui/views/harmony/layout_delegate.h" |
#include "chrome/grit/generated_resources.h" |
#include "components/content_settings/core/browser/host_content_settings_map.h" |
#include "components/strings/grit/components_strings.h" |
#include "content/public/browser/plugin_service.h" |
#include "content/public/browser/web_contents.h" |
#include "ui/base/cursor/cursor.h" |
+#include "ui/base/default_style.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/models/simple_menu_model.h" |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/gfx/font_list.h" |
#include "ui/gfx/text_utils.h" |
+#include "ui/views/controls/button/label_button_border.h" |
#include "ui/views/controls/button/md_text_button.h" |
#include "ui/views/controls/button/menu_button.h" |
#include "ui/views/controls/button/radio_button.h" |
@@ -181,11 +184,16 @@ ContentSettingBubbleContents::~ContentSettingBubbleContents() { |
gfx::Size ContentSettingBubbleContents::GetPreferredSize() const { |
gfx::Size preferred_size(views::View::GetPreferredSize()); |
- int preferred_width = |
- (!content_setting_bubble_model_->bubble_content().domain_lists.empty() && |
- (kMinMultiLineContentsWidth > preferred_size.width())) |
- ? kMinMultiLineContentsWidth |
- : preferred_size.width(); |
+ int preferred_width = LayoutDelegate::Get()->GetDialogPreferredWidth( |
+ LayoutDelegate::DialogWidthType::SMALL); |
+ if (!preferred_width) |
+ preferred_width = (!content_setting_bubble_model_->bubble_content() |
+ .domain_lists.empty() && |
+ (kMinMultiLineContentsWidth > preferred_size.width())) |
+ ? kMinMultiLineContentsWidth |
+ : preferred_size.width(); |
+ else |
+ preferred_width -= margins().width(); |
if (content_setting_bubble_model_->AsSubresourceFilterBubbleModel()) { |
preferred_size.set_width(std::min(preferred_width, |
kMaxDefaultContentsWidth)); |
@@ -200,12 +208,24 @@ void ContentSettingBubbleContents::Init() { |
GridLayout* layout = new views::GridLayout(this); |
SetLayoutManager(layout); |
+ const LayoutDelegate* layout_delegate = LayoutDelegate::Get(); |
+ const int related_control_horizontal_spacing = |
+ layout_delegate->GetLayoutDistance( |
+ LayoutDelegate::LayoutDistanceType:: |
+ RELATED_CONTROL_HORIZONTAL_SPACING); |
+ const int related_control_vertical_spacing = |
+ layout_delegate->GetLayoutDistance( |
+ LayoutDelegate::LayoutDistanceType::RELATED_CONTROL_VERTICAL_SPACING); |
+ const int unrelated_control_vertical_spacing = |
+ layout_delegate->GetLayoutDistance( |
+ LayoutDelegate::LayoutDistanceType:: |
+ UNRELATED_CONTROL_VERTICAL_SPACING); |
const int kSingleColumnSetId = 0; |
views::ColumnSet* column_set = layout->AddColumnSet(kSingleColumnSetId); |
column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 1, |
GridLayout::USE_PREF, 0, 0); |
- column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing); |
+ column_set->AddPaddingColumn(0, related_control_horizontal_spacing); |
column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 1, |
GridLayout::USE_PREF, 0, 0); |
@@ -217,6 +237,11 @@ void ContentSettingBubbleContents::Init() { |
views::Label* title_label = new views::Label(bubble_content.title); |
title_label->SetMultiLine(true); |
title_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
+ if (layout_delegate->IsHarmonyMode()) { |
+ ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
+ title_label->SetFontList( |
+ rb.GetFontListWithDelta(ui::kTitleFontSizeDelta)); |
+ } |
layout->StartRow(0, kSingleColumnSetId); |
layout->AddView(title_label); |
bubble_content_empty = false; |
@@ -224,7 +249,7 @@ void ContentSettingBubbleContents::Init() { |
if (!bubble_content.message.empty()) { |
views::Label* message_label = new views::Label(bubble_content.message); |
- layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing); |
+ layout->AddPaddingRow(0, unrelated_control_vertical_spacing); |
message_label->SetMultiLine(true); |
message_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
layout->StartRow(0, kSingleColumnSetId); |
@@ -248,8 +273,8 @@ void ContentSettingBubbleContents::Init() { |
layout->AddColumnSet(kItemListColumnSetId); |
item_list_column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 0, |
GridLayout::USE_PREF, 0, 0); |
- item_list_column_set->AddPaddingColumn( |
- 0, views::kRelatedControlHorizontalSpacing); |
+ item_list_column_set->AddPaddingColumn(0, |
+ related_control_horizontal_spacing); |
item_list_column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 1, |
GridLayout::USE_PREF, 0, 0); |
@@ -257,7 +282,7 @@ void ContentSettingBubbleContents::Init() { |
for (const ContentSettingBubbleModel::ListItem& list_item : |
bubble_content.list_items) { |
if (!bubble_content_empty) |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
layout->StartRow(0, kItemListColumnSetId); |
if (list_item.has_link) { |
views::Link* link = new views::Link(base::UTF8ToUTF16(list_item.title)); |
@@ -281,7 +306,9 @@ void ContentSettingBubbleContents::Init() { |
// Insert a column set with greater indent. |
views::ColumnSet* indented_single_column_set = |
layout->AddColumnSet(indented_kSingleColumnSetId); |
- indented_single_column_set->AddPaddingColumn(0, views::kCheckboxIndent); |
+ indented_single_column_set->AddPaddingColumn( |
+ 0, layout_delegate->GetLayoutDistance( |
+ LayoutDelegate::LayoutDistanceType::CHECKBOX_INDENT)); |
indented_single_column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, |
1, GridLayout::USE_PREF, 0, 0); |
@@ -289,7 +316,7 @@ void ContentSettingBubbleContents::Init() { |
bubble_content.radio_group; |
if (!radio_group.radio_items.empty()) { |
if (!bubble_content_empty) |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
for (ContentSettingBubbleModel::RadioItems::const_iterator i( |
radio_group.radio_items.begin()); |
i != radio_group.radio_items.end(); ++i) { |
@@ -297,6 +324,14 @@ void ContentSettingBubbleContents::Init() { |
new views::RadioButton(base::UTF8ToUTF16(*i), 0); |
radio->SetEnabled(bubble_content.radio_group_enabled); |
radio->set_listener(this); |
+ if (layout_delegate->IsHarmonyMode()) { |
+ std::unique_ptr<views::LabelButtonBorder> border = |
+ radio->CreateDefaultBorder(); |
+ gfx::Insets insets = border->GetInsets(); |
+ border->set_insets( |
+ gfx::Insets(insets.top(), 0, insets.bottom(), insets.right())); |
+ radio->SetBorder(std::move(border)); |
+ } |
radio_group_.push_back(radio); |
layout->StartRow(0, indented_kSingleColumnSetId); |
layout->AddView(radio); |
@@ -313,11 +348,12 @@ void ContentSettingBubbleContents::Init() { |
const int kMediaMenuColumnSetId = 4; |
views::ColumnSet* menu_column_set = |
layout->AddColumnSet(kMediaMenuColumnSetId); |
- menu_column_set->AddPaddingColumn(0, views::kCheckboxIndent); |
+ menu_column_set->AddPaddingColumn( |
+ 0, layout_delegate->GetLayoutDistance( |
+ LayoutDelegate::LayoutDistanceType::CHECKBOX_INDENT)); |
menu_column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 0, |
GridLayout::USE_PREF, 0, 0); |
- menu_column_set->AddPaddingColumn( |
- 0, views::kRelatedControlHorizontalSpacing); |
+ menu_column_set->AddPaddingColumn(0, related_control_horizontal_spacing); |
menu_column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 1, |
GridLayout::USE_PREF, 0, 0); |
@@ -325,7 +361,7 @@ void ContentSettingBubbleContents::Init() { |
bubble_content.media_menus.begin()); |
i != bubble_content.media_menus.end(); ++i) { |
if (!bubble_content_empty) |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
layout->StartRow(0, kMediaMenuColumnSetId); |
views::Label* label = |
@@ -376,18 +412,20 @@ void ContentSettingBubbleContents::Init() { |
custom_link_->SetEnabled(bubble_content.custom_link_enabled); |
custom_link_->set_listener(this); |
if (!bubble_content_empty) |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
layout->StartRow(0, kSingleColumnSetId); |
layout->AddView(custom_link_); |
bubble_content_empty = false; |
} |
if (!bubble_content_empty) { |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
- layout->StartRow(0, kSingleColumnSetId); |
- layout->AddView(new views::Separator(views::Separator::HORIZONTAL), 1, 1, |
- GridLayout::FILL, GridLayout::FILL); |
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ if (!layout_delegate->IsHarmonyMode()) { |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
+ layout->StartRow(0, kSingleColumnSetId); |
+ layout->AddView(new views::Separator(views::Separator::HORIZONTAL), 1, 1, |
+ GridLayout::FILL, GridLayout::FILL); |
+ } |
+ layout->AddPaddingRow(0, related_control_vertical_spacing); |
} |
} |