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 87f56c898b1129c549a814d27faee7fb1e06e7f2..219a81e4c7ca6ef614f3f0c47d7da1e0381e13af 100644 |
--- a/chrome/browser/ui/views/content_setting_bubble_contents.cc |
+++ b/chrome/browser/ui/views/content_setting_bubble_contents.cc |
@@ -148,7 +148,9 @@ ContentSettingBubbleContents::ContentSettingBubbleContents( |
web_contents_(web_contents), |
custom_link_(NULL), |
manage_link_(NULL), |
- close_button_(NULL) { |
+ close_button_(NULL), |
+ never_button_(NULL), |
+ save_button_(NULL) { |
// Compensate for built-in vertical padding in the anchor view's image. |
set_anchor_view_insets(gfx::Insets(5, 0, 5, 0)); |
@@ -398,7 +400,18 @@ void ContentSettingBubbleContents::Init() { |
0, views::kUnrelatedControlHorizontalSpacing); |
double_column_set->AddColumn(GridLayout::TRAILING, GridLayout::CENTER, 0, |
GridLayout::USE_PREF, 0, 0); |
- |
+ if (content_setting_bubble_model_->content_type() == |
+ CONTENT_SETTINGS_TYPE_SAVE_PASSWORD) { |
+ layout->StartRow(0, kDoubleColumnSetId); |
+ never_button_ = new views::LabelButton( |
+ this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON)); |
+ never_button_->SetStyle(views::Button::STYLE_NATIVE_TEXTBUTTON); |
+ layout->AddView(never_button_); |
+ save_button_ = new views::LabelButton( |
+ this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON)); |
+ save_button_->SetStyle(views::Button::STYLE_NATIVE_TEXTBUTTON); |
+ layout->AddView(save_button_); |
+ } |
layout->StartRow(0, kDoubleColumnSetId); |
manage_link_ = new views::Link(UTF8ToUTF16(bubble_content.manage_link)); |
manage_link_->set_listener(this); |
@@ -414,6 +427,16 @@ void ContentSettingBubbleContents::Init() { |
void ContentSettingBubbleContents::ButtonPressed(views::Button* sender, |
const ui::Event& event) { |
+ if (sender == save_button_) { |
+ content_setting_bubble_model_->OnSaveClicked(); |
+ StartFade(false); |
+ return; |
+ } |
+ if (sender == never_button_) { |
+ content_setting_bubble_model_->OnCancelClicked(); |
+ StartFade(false); |
+ return; |
+ } |
if (sender == close_button_) { |
content_setting_bubble_model_->OnDoneClicked(); |
StartFade(false); |
@@ -430,6 +453,14 @@ void ContentSettingBubbleContents::ButtonPressed(views::Button* sender, |
NOTREACHED() << "unknown radio"; |
} |
+bool ContentSettingBubbleContents::Accept() { |
+ return true; |
+} |
+ |
+bool ContentSettingBubbleContents::Cancel() { |
+ return true; |
+} |
+ |
void ContentSettingBubbleContents::LinkClicked(views::Link* source, |
int event_flags) { |
if (source == custom_link_) { |