summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-01 08:32:43 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-01 08:32:43 +0000
commitd95eb17ad28fdc10b5952b7fcc2b6d5f7ef62b88 (patch)
tree381ed55e2bedeb11babd759b9f6a94183b533d08 /chrome/browser/dom_ui
parenta16a421b3959938bd40e9101b2bc86f4ad46e454 (diff)
downloadchromium_src-d95eb17ad28fdc10b5952b7fcc2b6d5f7ef62b88.zip
chromium_src-d95eb17ad28fdc10b5952b7fcc2b6d5f7ef62b88.tar.gz
chromium_src-d95eb17ad28fdc10b5952b7fcc2b6d5f7ef62b88.tar.bz2
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
Diffstat (limited to 'chrome/browser/dom_ui')
-rw-r--r--chrome/browser/dom_ui/content_settings_handler.cc19
1 files changed, 19 insertions, 0 deletions
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));