Commit 01168f4a authored by Charlie Harrison's avatar Charlie Harrison Committed by Commit Bot

[Content Bubbles] Move radio group management into RadioGroup

Simple CL which moves more control of the radio group into the actual
RadioGroup struct rather than the owning class.

Also:
 - Removes unused |title| member
 - Constructs radio items using initializer lists.

Bug: None
Change-Id: I421e42f044a89bd1dd87bb11130d79b18aefe144
Reviewed-on: https://chromium-review.googlesource.com/c/1351504Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611241}
parent 41cf53cb
...@@ -391,9 +391,8 @@ ContentSettingRPHBubbleModel::ContentSettingRPHBubbleModel( ...@@ -391,9 +391,8 @@ ContentSettingRPHBubbleModel::ContentSettingRPHBubbleModel(
RadioGroup radio_group; RadioGroup radio_group;
radio_group.url = url; radio_group.url = url;
radio_group.radio_items.push_back(radio_allow_label); radio_group.radio_items = {radio_allow_label, radio_deny_label,
radio_group.radio_items.push_back(radio_deny_label); radio_ignore_label};
radio_group.radio_items.push_back(radio_ignore_label);
ContentSetting setting = content_settings->pending_protocol_handler_setting(); ContentSetting setting = content_settings->pending_protocol_handler_setting();
if (setting == CONTENT_SETTING_ALLOW) if (setting == CONTENT_SETTING_ALLOW)
radio_group.default_item = RPH_ALLOW; radio_group.default_item = RPH_ALLOW;
...@@ -402,7 +401,7 @@ ContentSettingRPHBubbleModel::ContentSettingRPHBubbleModel( ...@@ -402,7 +401,7 @@ ContentSettingRPHBubbleModel::ContentSettingRPHBubbleModel(
else else
radio_group.default_item = RPH_IGNORE; radio_group.default_item = RPH_IGNORE;
set_radio_group_enabled(true); radio_group.user_managed = true;
set_radio_group(radio_group); set_radio_group(radio_group);
} }
...@@ -827,11 +826,10 @@ void ContentSettingSingleRadioGroup::SetRadioGroup() { ...@@ -827,11 +826,10 @@ void ContentSettingSingleRadioGroup::SetRadioGroup() {
kBlockedBlockIDs, arraysize(kBlockedBlockIDs), content_type())); kBlockedBlockIDs, arraysize(kBlockedBlockIDs), content_type()));
} }
radio_group.radio_items.push_back(radio_allow_label); radio_group.radio_items = {radio_allow_label, radio_block_label};
radio_group.radio_items.push_back(radio_block_label);
ContentSetting setting; ContentSetting setting;
bool managed_by_user = radio_group.user_managed =
GetSettingManagedByUser(url, content_type(), GetProfile(), &setting); GetSettingManagedByUser(url, content_type(), GetProfile(), &setting);
if (setting == CONTENT_SETTING_ALLOW) { if (setting == CONTENT_SETTING_ALLOW) {
radio_group.default_item = kAllowButtonIndex; radio_group.default_item = kAllowButtonIndex;
...@@ -840,7 +838,6 @@ void ContentSettingSingleRadioGroup::SetRadioGroup() { ...@@ -840,7 +838,6 @@ void ContentSettingSingleRadioGroup::SetRadioGroup() {
radio_group.default_item = 1; radio_group.default_item = 1;
block_setting_ = setting; block_setting_ = setting;
} }
set_radio_group_enabled(managed_by_user);
set_radio_group(radio_group); set_radio_group(radio_group);
} }
...@@ -1171,11 +1168,10 @@ void ContentSettingMediaStreamBubbleModel::SetRadioGroup() { ...@@ -1171,11 +1168,10 @@ void ContentSettingMediaStreamBubbleModel::SetRadioGroup() {
CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA))
? 1 ? 1
: 0; : 0;
radio_group.radio_items.push_back(radio_allow_label); radio_group.radio_items = {radio_allow_label, radio_block_label};
radio_group.radio_items.push_back(radio_block_label); radio_group.user_managed = true;
set_radio_group(radio_group); set_radio_group(radio_group);
set_radio_group_enabled(true);
} }
void ContentSettingMediaStreamBubbleModel::UpdateSettings( void ContentSettingMediaStreamBubbleModel::UpdateSettings(
...@@ -1413,26 +1409,25 @@ void ContentSettingDownloadsBubbleModel::SetRadioGroup() { ...@@ -1413,26 +1409,25 @@ void ContentSettingDownloadsBubbleModel::SetRadioGroup() {
radio_group.url = url; radio_group.url = url;
switch (download_request_limiter->GetDownloadUiStatus(web_contents())) { switch (download_request_limiter->GetDownloadUiStatus(web_contents())) {
case DownloadRequestLimiter::DOWNLOAD_UI_ALLOWED: case DownloadRequestLimiter::DOWNLOAD_UI_ALLOWED:
radio_group.radio_items.push_back( radio_group.radio_items = {
l10n_util::GetStringUTF16(IDS_ALLOWED_DOWNLOAD_NO_ACTION)); l10n_util::GetStringUTF16(IDS_ALLOWED_DOWNLOAD_NO_ACTION),
radio_group.radio_items.push_back( l10n_util::GetStringFUTF16(IDS_ALLOWED_DOWNLOAD_BLOCK, display_host)};
l10n_util::GetStringFUTF16(IDS_ALLOWED_DOWNLOAD_BLOCK, display_host));
radio_group.default_item = kAllowButtonIndex; radio_group.default_item = kAllowButtonIndex;
break; break;
case DownloadRequestLimiter::DOWNLOAD_UI_BLOCKED: case DownloadRequestLimiter::DOWNLOAD_UI_BLOCKED:
radio_group.radio_items.push_back(l10n_util::GetStringFUTF16( radio_group.radio_items = {
IDS_BLOCKED_DOWNLOAD_UNBLOCK, display_host)); l10n_util::GetStringFUTF16(IDS_BLOCKED_DOWNLOAD_UNBLOCK,
radio_group.radio_items.push_back( display_host),
l10n_util::GetStringUTF16(IDS_BLOCKED_DOWNLOAD_NO_ACTION)); l10n_util::GetStringUTF16(IDS_BLOCKED_DOWNLOAD_NO_ACTION)};
radio_group.default_item = 1; radio_group.default_item = 1;
break; break;
case DownloadRequestLimiter::DOWNLOAD_UI_DEFAULT: case DownloadRequestLimiter::DOWNLOAD_UI_DEFAULT:
NOTREACHED(); NOTREACHED();
return; return;
} }
radio_group.user_managed = GetSettingManagedByUser(
url, CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, GetProfile(), nullptr);
set_radio_group(radio_group); set_radio_group(radio_group);
set_radio_group_enabled(GetSettingManagedByUser(
url, CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, GetProfile(), nullptr));
} }
void ContentSettingDownloadsBubbleModel::SetTitle() { void ContentSettingDownloadsBubbleModel::SetTitle() {
......
...@@ -99,9 +99,12 @@ class ContentSettingBubbleModel { ...@@ -99,9 +99,12 @@ class ContentSettingBubbleModel {
~RadioGroup(); ~RadioGroup();
GURL url; GURL url;
base::string16 title;
RadioItems radio_items; RadioItems radio_items;
int default_item; int default_item;
// Whether the user can control this radio group. False if controlled by
// policy, etc.
bool user_managed = true;
}; };
struct DomainList { struct DomainList {
...@@ -142,7 +145,6 @@ class ContentSettingBubbleModel { ...@@ -142,7 +145,6 @@ class ContentSettingBubbleModel {
base::string16 message; base::string16 message;
ListItems list_items; ListItems list_items;
RadioGroup radio_group; RadioGroup radio_group;
bool radio_group_enabled = false;
std::vector<DomainList> domain_lists; std::vector<DomainList> domain_lists;
base::string16 custom_link; base::string16 custom_link;
bool custom_link_enabled = false; bool custom_link_enabled = false;
...@@ -232,9 +234,6 @@ class ContentSettingBubbleModel { ...@@ -232,9 +234,6 @@ class ContentSettingBubbleModel {
void set_radio_group(const RadioGroup& radio_group) { void set_radio_group(const RadioGroup& radio_group) {
bubble_content_.radio_group = radio_group; bubble_content_.radio_group = radio_group;
} }
void set_radio_group_enabled(bool enabled) {
bubble_content_.radio_group_enabled = enabled;
}
void add_domain_list(const DomainList& domain_list) { void add_domain_list(const DomainList& domain_list) {
bubble_content_.domain_lists.push_back(domain_list); bubble_content_.domain_lists.push_back(domain_list);
} }
......
...@@ -1034,7 +1034,7 @@ TEST_F(ContentSettingBubbleModelTest, ValidUrl) { ...@@ -1034,7 +1034,7 @@ TEST_F(ContentSettingBubbleModelTest, ValidUrl) {
const ContentSettingBubbleModel::BubbleContent& bubble_content = const ContentSettingBubbleModel::BubbleContent& bubble_content =
content_setting_bubble_model->bubble_content(); content_setting_bubble_model->bubble_content();
EXPECT_TRUE(bubble_content.radio_group_enabled); EXPECT_TRUE(bubble_content.radio_group.user_managed);
} }
TEST_F(ContentSettingBubbleModelTest, InvalidUrl) { TEST_F(ContentSettingBubbleModelTest, InvalidUrl) {
...@@ -1051,5 +1051,5 @@ TEST_F(ContentSettingBubbleModelTest, InvalidUrl) { ...@@ -1051,5 +1051,5 @@ TEST_F(ContentSettingBubbleModelTest, InvalidUrl) {
const ContentSettingBubbleModel::BubbleContent& bubble_content = const ContentSettingBubbleModel::BubbleContent& bubble_content =
content_setting_bubble_model->bubble_content(); content_setting_bubble_model->bubble_content();
EXPECT_FALSE(bubble_content.radio_group_enabled); EXPECT_FALSE(bubble_content.radio_group.user_managed);
} }
...@@ -474,7 +474,7 @@ void ContentSettingBubbleContents::Init() { ...@@ -474,7 +474,7 @@ void ContentSettingBubbleContents::Init() {
for (auto i(radio_group.radio_items.begin()); for (auto i(radio_group.radio_items.begin());
i != radio_group.radio_items.end(); ++i) { i != radio_group.radio_items.end(); ++i) {
auto radio = std::make_unique<views::RadioButton>(*i, 0); auto radio = std::make_unique<views::RadioButton>(*i, 0);
radio->SetEnabled(bubble_content.radio_group_enabled); radio->SetEnabled(radio_group.user_managed);
radio->SetMultiLine(true); radio->SetMultiLine(true);
radio_group_.push_back(radio.get()); radio_group_.push_back(radio.get());
rows.push_back({std::move(radio), LayoutRowType::INDENTED}); rows.push_back({std::move(radio), LayoutRowType::INDENTED});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment