Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Unified Diff: chrome/browser/ui/views/content_setting_bubble_contents.cc

Issue 2793413002: [subresource_filter] Update the desktop UI according to mocks (Closed)
Patch Set: msw review Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 6d0ade5ffe0f0cbbf4fa4092130fd9b44a1151a0..7696839a67656ea4862a112a9e22bc9ca8804727 100644
--- a/chrome/browser/ui/views/content_setting_bubble_contents.cc
+++ b/chrome/browser/ui/views/content_setting_bubble_contents.cc
@@ -171,7 +171,7 @@ ContentSettingBubbleContents::ContentSettingBubbleContents(
content_setting_bubble_model_(content_setting_bubble_model),
custom_link_(nullptr),
manage_link_(nullptr),
- manage_button_(nullptr),
+ manage_checkbox_(nullptr),
learn_more_link_(nullptr) {
// Compensate for built-in vertical padding in the anchor view's image.
set_anchor_view_insets(gfx::Insets(
@@ -416,6 +416,15 @@ void ContentSettingBubbleContents::Init() {
bubble_content_empty = false;
}
+ if (bubble_content.show_manage_text_as_checkbox) {
+ manage_checkbox_ =
+ new views::Checkbox(base::UTF8ToUTF16(bubble_content.manage_text));
msw 2017/04/06 00:44:56 aside: BubbleContent::manage_text should probably
Charlie Harrison 2017/04/06 02:04:58 Ack. Let's address this in a followup?
msw 2017/04/06 02:19:29 Acknowledged.
+ manage_checkbox_->set_listener(this);
+ layout->AddPaddingRow(0, related_control_vertical_spacing);
+ layout->StartRow(0, indented_kSingleColumnSetId);
+ layout->AddView(manage_checkbox_);
+ }
+
if (!bubble_content_empty) {
if (!layout_delegate->IsHarmonyMode()) {
layout->AddPaddingRow(0, related_control_vertical_spacing);
@@ -428,18 +437,15 @@ void ContentSettingBubbleContents::Init() {
}
views::View* ContentSettingBubbleContents::CreateExtraView() {
- if (content_setting_bubble_model_->bubble_content()
- .show_manage_text_as_button) {
- manage_button_ = views::MdTextButton::CreateSecondaryUiButton(
- this, base::UTF8ToUTF16(
- content_setting_bubble_model_->bubble_content().manage_text));
- return manage_button_;
- } else {
- manage_link_ = new views::Link(base::UTF8ToUTF16(
- content_setting_bubble_model_->bubble_content().manage_text));
- manage_link_->set_listener(this);
- return manage_link_;
- }
+ const ContentSettingBubbleModel::BubbleContent& bubble_content =
+ content_setting_bubble_model_->bubble_content();
+ // Added as part of the primary view.
+ if (bubble_content.show_manage_text_as_checkbox)
+ return nullptr;
+
+ manage_link_ = new views::Link(base::UTF8ToUTF16(bubble_content.manage_text));
+ manage_link_->set_listener(this);
+ return manage_link_;
}
bool ContentSettingBubbleContents::Accept() {
@@ -457,6 +463,10 @@ int ContentSettingBubbleContents::GetDialogButtons() const {
base::string16 ContentSettingBubbleContents::GetDialogButtonLabel(
ui::DialogButton button) const {
+ const base::string16& done_text =
+ content_setting_bubble_model_->bubble_content().done_button_text;
+ if (!done_text.empty())
+ return done_text;
return l10n_util::GetStringUTF16(IDS_DONE);
}
@@ -472,9 +482,9 @@ void ContentSettingBubbleContents::DidFinishNavigation(
void ContentSettingBubbleContents::ButtonPressed(views::Button* sender,
const ui::Event& event) {
- if (manage_button_ == sender) {
- GetWidget()->Close();
- content_setting_bubble_model_->OnManageLinkClicked();
+ if (manage_checkbox_ == sender) {
+ content_setting_bubble_model_->OnManageCheckboxChecked(
msw 2017/04/06 00:44:56 This could probably call GetDialogClientView()->Up
Charlie Harrison 2017/04/06 02:04:58 This solution works for me, thanks for the tip.
+ manage_checkbox_->checked());
} else {
RadioGroup::const_iterator i(
std::find(radio_group_.begin(), radio_group_.end(), sender));

Powered by Google App Engine
This is Rietveld 408576698