From d95eb17ad28fdc10b5952b7fcc2b6d5f7ef62b88 Mon Sep 17 00:00:00 2001 From: "jochen@chromium.org" Date: Wed, 1 Sep 2010 08:32:43 +0000 Subject: Show option to block non-sandboxed plugins. (Gtk/Views/tabbed part) BUG=53812 TEST=none Review URL: http://codereview.chromium.org/3231008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58148 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/dom_ui/content_settings_handler.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'chrome/browser/dom_ui') diff --git a/chrome/browser/dom_ui/content_settings_handler.cc b/chrome/browser/dom_ui/content_settings_handler.cc index 2bdb915..4c28834 100644 --- a/chrome/browser/dom_ui/content_settings_handler.cc +++ b/chrome/browser/dom_ui/content_settings_handler.cc @@ -175,6 +175,8 @@ void ContentSettingsHandler::GetLocalizedValues( l10n_util::GetStringUTF16(IDS_PLUGIN_TAB_LABEL)); localized_strings->SetString("plugins_setting", l10n_util::GetStringUTF16(IDS_PLUGIN_SETTING_LABEL)); + localized_strings->SetString("plugins_allow_sandboxed", + l10n_util::GetStringUTF16(IDS_PLUGIN_LOAD_SANDBOXED_RADIO)); localized_strings->SetString("plugins_allow", l10n_util::GetStringUTF16(IDS_PLUGIN_LOAD_RADIO)); localized_strings->SetString("plugins_block", @@ -235,6 +237,12 @@ void ContentSettingsHandler::Initialize() { ContentSettingToString(default_setting)); } + if (settings_map->GetBlockNonsandboxedPlugins()) { + filter_settings.SetString( + ContentSettingsTypeToGroupName(CONTENT_SETTINGS_TYPE_PLUGINS), + ContentSettingToString(CONTENT_SETTING_ASK)); + } + dom_ui_->CallJavascriptFunction( L"ContentSettings.setInitialContentFilterSettingsValue", filter_settings); @@ -326,6 +334,17 @@ void ContentSettingsHandler::SetContentFilter(const ListValue* args) { return; } + if (ContentSettingsTypeFromGroupName(group) == + CONTENT_SETTINGS_TYPE_PLUGINS) { + bool block_nonsandboxed_plugins = false; + if (ContentSettingFromString(setting) == CONTENT_SETTING_ASK) { + setting = ContentSettingToString(CONTENT_SETTING_ALLOW); + block_nonsandboxed_plugins = true; + } + dom_ui_->GetProfile()->GetHostContentSettingsMap()-> + SetBlockNonsandboxedPlugins(block_nonsandboxed_plugins); + } + dom_ui_->GetProfile()->GetHostContentSettingsMap()->SetDefaultContentSetting( ContentSettingsTypeFromGroupName(group), ContentSettingFromString(setting)); -- cgit v1.1