summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-03 08:22:21 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-03 08:22:21 +0000
commit97c5c596e4b649651fbef56875e125c06acb0f90 (patch)
tree3acba85143369eacd72006d383e5e198a59f9c7a /chrome/browser/views
parent7a13e7926699ad5d03f2d6e121b7bdb68ca05680 (diff)
downloadchromium_src-97c5c596e4b649651fbef56875e125c06acb0f90.zip
chromium_src-97c5c596e4b649651fbef56875e125c06acb0f90.tar.gz
chromium_src-97c5c596e4b649651fbef56875e125c06acb0f90.tar.bz2
Add "Load all plugins on this page" button to blocked plugins bubble if click-to-play is enabled.
Screenshot: http://imgur.com/ZKsQB.png XIB changes: Add a rounded rect button hooked up to |loadAllPlugins:| in the File's Owner and referenced by its |loadAllPluginsButton_| outlet, wrapped in a GTMWidthBasedTweaker. BUG=49677 TEST=ContentSettingBubbleModelTest.* Review URL: http://codereview.chromium.org/3015036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54720 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r--chrome/browser/views/content_blocked_bubble_contents.cc24
-rw-r--r--chrome/browser/views/content_blocked_bubble_contents.h1
2 files changed, 24 insertions, 1 deletions
diff --git a/chrome/browser/views/content_blocked_bubble_contents.cc b/chrome/browser/views/content_blocked_bubble_contents.cc
index bef80be..11bdded 100644
--- a/chrome/browser/views/content_blocked_bubble_contents.cc
+++ b/chrome/browser/views/content_blocked_bubble_contents.cc
@@ -103,7 +103,8 @@ ContentSettingBubbleContents::ContentSettingBubbleContents(
close_button_(NULL),
manage_link_(NULL),
clear_link_(NULL),
- info_link_(NULL) {
+ info_link_(NULL),
+ load_plugins_link_(NULL) {
registrar_.Add(this, NotificationType::TAB_CONTENTS_DESTROYED,
Source<TabContents>(tab_contents));
}
@@ -157,6 +158,12 @@ void ContentSettingBubbleContents::LinkActivated(views::Link* source,
info_bubble_->Close(); // CAREFUL: This deletes us.
return;
}
+ if (source == load_plugins_link_) {
+ content_setting_bubble_model_->OnLoadPluginsLinkClicked();
+ info_bubble_->set_fade_away_on_close(true);
+ info_bubble_->Close(); // CAREFUL: This deletes us.
+ return;
+ }
PopupLinks::const_iterator i(popup_links_.find(source));
DCHECK(i != popup_links_.end());
@@ -303,6 +310,21 @@ void ContentSettingBubbleContents::InitControlLayout() {
layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
}
+ if (!bubble_content.load_plugins_link_title.empty()) {
+ load_plugins_link_ = new views::Link(
+ UTF8ToWide(bubble_content.load_plugins_link_title));
+ load_plugins_link_->SetEnabled(bubble_content.load_plugins_link_enabled);
+ load_plugins_link_->SetController(this);
+ layout->StartRow(0, single_column_set_id);
+ layout->AddView(load_plugins_link_);
+
+ layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
+ layout->StartRow(0, single_column_set_id);
+ layout->AddView(new views::Separator, 1, 1,
+ GridLayout::FILL, GridLayout::FILL);
+ layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
+ }
+
const int double_column_set_id = 1;
views::ColumnSet* double_column_set =
layout->AddColumnSet(double_column_set_id);
diff --git a/chrome/browser/views/content_blocked_bubble_contents.h b/chrome/browser/views/content_blocked_bubble_contents.h
index a48cfcbc..6d6c72c 100644
--- a/chrome/browser/views/content_blocked_bubble_contents.h
+++ b/chrome/browser/views/content_blocked_bubble_contents.h
@@ -95,6 +95,7 @@ class ContentSettingBubbleContents : public views::View,
views::Link* manage_link_;
views::Link* clear_link_;
views::Link* info_link_;
+ views::Link* load_plugins_link_;
DISALLOW_IMPLICIT_CONSTRUCTORS(ContentSettingBubbleContents);
};