diff options
author | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-03 08:22:21 +0000 |
---|---|---|
committer | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-03 08:22:21 +0000 |
commit | 97c5c596e4b649651fbef56875e125c06acb0f90 (patch) | |
tree | 3acba85143369eacd72006d383e5e198a59f9c7a /chrome/browser/views | |
parent | 7a13e7926699ad5d03f2d6e121b7bdb68ca05680 (diff) | |
download | chromium_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.cc | 24 | ||||
-rw-r--r-- | chrome/browser/views/content_blocked_bubble_contents.h | 1 |
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); }; |