From a003d8e6c080ec9758832f4a43839bac746cfcb3 Mon Sep 17 00:00:00 2001 From: "tfarina@chromium.org" Date: Sat, 2 Oct 2010 21:03:35 +0000 Subject: DOMUI: Make 'Adobe flash..' and 'Disable individual plug-ins' open in a new tab. BUG=53617 TEST=see bug Review URL: http://codereview.chromium.org/3550007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61311 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/browser.cc | 6 ++++++ chrome/browser/browser.h | 1 + chrome/browser/dom_ui/options/content_settings_handler.cc | 10 ++++++++-- chrome/browser/dom_ui/options/content_settings_handler.h | 1 + chrome/browser/resources/options/content_settings.html | 8 ++++---- chrome/browser/resources/options/content_settings.js | 4 ++++ 6 files changed, 24 insertions(+), 6 deletions(-) (limited to 'chrome') diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index b585865..8a56859 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -1948,6 +1948,12 @@ void Browser::OpenLanguageOptionsDialog() { } #endif +void Browser::OpenPluginsTabAndActivate() { + OpenURL(GURL(chrome::kAboutPluginsURL), GURL(), + NEW_FOREGROUND_TAB, PageTransition::LINK); + window_->Activate(); +} + /////////////////////////////////////////////////////////////////////////////// // static diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h index fe7f87c..552214f 100644 --- a/chrome/browser/browser.h +++ b/chrome/browser/browser.h @@ -548,6 +548,7 @@ class Browser : public TabHandlerDelegate, void OpenLanguageOptionsDialog(); void OpenSystemOptionsDialog(); #endif + void OpenPluginsTabAndActivate(); virtual void UpdateDownloadShelfVisibility(bool visible); diff --git a/chrome/browser/dom_ui/options/content_settings_handler.cc b/chrome/browser/dom_ui/options/content_settings_handler.cc index f4b7242..117689f 100644 --- a/chrome/browser/dom_ui/options/content_settings_handler.cc +++ b/chrome/browser/dom_ui/options/content_settings_handler.cc @@ -9,6 +9,7 @@ #include "base/command_line.h" #include "base/utf_string_conversions.h" #include "base/values.h" +#include "chrome/browser/browser_list.h" #include "chrome/browser/geolocation/geolocation_content_settings_map.h" #include "chrome/browser/host_content_settings_map.h" #include "chrome/browser/notifications/desktop_notification_service.h" @@ -164,8 +165,6 @@ void ContentSettingsHandler::GetLocalizedValues( l10n_util::GetStringUTF16(IDS_PLUGIN_NOLOAD_RADIO)); localized_strings->SetString("disable_individual_plugins", l10n_util::GetStringUTF16(IDS_PLUGIN_SELECTIVE_DISABLE)); - localized_strings->SetString("chrome_plugin_url", - chrome::kChromeUIPluginsURL); // Pop-ups filter. localized_strings->SetString("popups_tab_label", @@ -327,6 +326,9 @@ void ContentSettingsHandler::RegisterMessages() { dom_ui_->RegisterMessageCallback("checkExceptionPatternValidity", NewCallback(this, &ContentSettingsHandler::CheckExceptionPatternValidity)); + dom_ui_->RegisterMessageCallback( + "openPluginsTab", + NewCallback(this, &ContentSettingsHandler::OpenPluginsTab)); } void ContentSettingsHandler::SetContentFilter(const ListValue* args) { @@ -484,6 +486,10 @@ void ContentSettingsHandler::CheckExceptionPatternValidity( *valid_value.get()); } +void ContentSettingsHandler::OpenPluginsTab(const ListValue* args) { + BrowserList::GetLastActive()->OpenPluginsTabAndActivate(); +} + // static std::string ContentSettingsHandler::ContentSettingsTypeToGroupName( ContentSettingsType type) { diff --git a/chrome/browser/dom_ui/options/content_settings_handler.h b/chrome/browser/dom_ui/options/content_settings_handler.h index 3f915af..f4e2255 100644 --- a/chrome/browser/dom_ui/options/content_settings_handler.h +++ b/chrome/browser/dom_ui/options/content_settings_handler.h @@ -43,6 +43,7 @@ class ContentSettingsHandler : public OptionsPageUIHandler { void RemoveExceptions(const ListValue* args); void SetException(const ListValue* args); void CheckExceptionPatternValidity(const ListValue* args); + void OpenPluginsTab(const ListValue* args); HostContentSettingsMap* GetContentSettingsMap(); HostContentSettingsMap* GetOTRContentSettingsMap(); diff --git a/chrome/browser/resources/options/content_settings.html b/chrome/browser/resources/options/content_settings.html index 5f4673a..7c628e6 100644 --- a/chrome/browser/resources/options/content_settings.html +++ b/chrome/browser/resources/options/content_settings.html @@ -71,8 +71,9 @@ - + + @@ -166,8 +167,7 @@ - + diff --git a/chrome/browser/resources/options/content_settings.js b/chrome/browser/resources/options/content_settings.js index 35676c9..686d5e9 100644 --- a/chrome/browser/resources/options/content_settings.js +++ b/chrome/browser/resources/options/content_settings.js @@ -66,6 +66,10 @@ cr.define('options', function() { chrome.send('coreOptionsUserMetricsAction', ['Options_ShowCookies']); OptionsPage.showPageByName('cookiesView'); }; + + $('plugins-tab').onclick = function(event) { + chrome.send('openPluginsTab'); + }; }, /** -- cgit v1.1