Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: chrome/browser/ui/webui/options/content_settings_handler.cc

Issue 551093003: Remove Google Talk plugin whitelisting now that b/11355273 is fixed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/options/content_settings_handler.h" 5 #include "chrome/browser/ui/webui/options/content_settings_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 base::Bind(&ContentSettingsHandler::RemoveException, 1229 base::Bind(&ContentSettingsHandler::RemoveException,
1230 base::Unretained(this))); 1230 base::Unretained(this)));
1231 web_ui()->RegisterMessageCallback("setException", 1231 web_ui()->RegisterMessageCallback("setException",
1232 base::Bind(&ContentSettingsHandler::SetException, 1232 base::Bind(&ContentSettingsHandler::SetException,
1233 base::Unretained(this))); 1233 base::Unretained(this)));
1234 web_ui()->RegisterMessageCallback("checkExceptionPatternValidity", 1234 web_ui()->RegisterMessageCallback("checkExceptionPatternValidity",
1235 base::Bind(&ContentSettingsHandler::CheckExceptionPatternValidity, 1235 base::Bind(&ContentSettingsHandler::CheckExceptionPatternValidity,
1236 base::Unretained(this))); 1236 base::Unretained(this)));
1237 } 1237 }
1238 1238
1239 void ContentSettingsHandler::ApplyWhitelist(ContentSettingsType content_type,
1240 ContentSetting default_setting) {
1241 HostContentSettingsMap* map = GetContentSettingsMap();
1242 if (content_type != CONTENT_SETTINGS_TYPE_PLUGINS)
1243 return;
1244 const int kDefaultWhitelistVersion = 1;
1245 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui()));
1246 int version = prefs->GetInteger(
1247 prefs::kContentSettingsDefaultWhitelistVersion);
1248 if (version >= kDefaultWhitelistVersion)
1249 return;
1250 ContentSetting old_setting =
1251 map->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, NULL);
1252 // TODO(bauerb): Remove this once the Google Talk plug-in works nicely with
1253 // click-to-play (b/6090625).
1254 if (old_setting == CONTENT_SETTING_ALLOW &&
1255 default_setting == CONTENT_SETTING_ASK) {
1256 map->SetWebsiteSetting(
1257 ContentSettingsPattern::Wildcard(),
1258 ContentSettingsPattern::Wildcard(),
1259 CONTENT_SETTINGS_TYPE_PLUGINS,
1260 "google-talk",
1261 new base::FundamentalValue(CONTENT_SETTING_ALLOW));
1262 }
1263 prefs->SetInteger(prefs::kContentSettingsDefaultWhitelistVersion,
1264 kDefaultWhitelistVersion);
1265 }
1266
1267 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) { 1239 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) {
1268 DCHECK_EQ(2U, args->GetSize()); 1240 DCHECK_EQ(2U, args->GetSize());
1269 std::string group, setting; 1241 std::string group, setting;
1270 if (!(args->GetString(0, &group) && 1242 if (!(args->GetString(0, &group) &&
1271 args->GetString(1, &setting))) { 1243 args->GetString(1, &setting))) {
1272 NOTREACHED(); 1244 NOTREACHED();
1273 return; 1245 return;
1274 } 1246 }
1275 1247
1276 ContentSetting default_setting = ContentSettingFromString(setting); 1248 ContentSetting default_setting = ContentSettingFromString(setting);
1277 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group); 1249 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group);
1278 Profile* profile = Profile::FromWebUI(web_ui()); 1250 Profile* profile = Profile::FromWebUI(web_ui());
1279 1251
1280 #if defined(OS_CHROMEOS) 1252 #if defined(OS_CHROMEOS)
1281 // ChromeOS special case : in Guest mode settings are opened in Incognito 1253 // ChromeOS special case : in Guest mode settings are opened in Incognito
1282 // mode, so we need original profile to actually modify settings. 1254 // mode, so we need original profile to actually modify settings.
1283 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) 1255 if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
1284 profile = profile->GetOriginalProfile(); 1256 profile = profile->GetOriginalProfile();
1285 #endif 1257 #endif
1286 1258
1287 1259
1288 HostContentSettingsMap* map = profile->GetHostContentSettingsMap(); 1260 HostContentSettingsMap* map = profile->GetHostContentSettingsMap();
1289 ApplyWhitelist(content_type, default_setting);
1290 map->SetDefaultContentSetting(content_type, default_setting); 1261 map->SetDefaultContentSetting(content_type, default_setting);
1291 1262
1292 switch (content_type) { 1263 switch (content_type) {
1293 case CONTENT_SETTINGS_TYPE_COOKIES: 1264 case CONTENT_SETTINGS_TYPE_COOKIES:
1294 content::RecordAction( 1265 content::RecordAction(
1295 UserMetricsAction("Options_DefaultCookieSettingChanged")); 1266 UserMetricsAction("Options_DefaultCookieSettingChanged"));
1296 break; 1267 break;
1297 case CONTENT_SETTINGS_TYPE_IMAGES: 1268 case CONTENT_SETTINGS_TYPE_IMAGES:
1298 content::RecordAction( 1269 content::RecordAction(
1299 UserMetricsAction("Options_DefaultImagesSettingChanged")); 1270 UserMetricsAction("Options_DefaultImagesSettingChanged"));
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
1538 void ContentSettingsHandler::UpdateProtectedContentExceptionsButton() { 1509 void ContentSettingsHandler::UpdateProtectedContentExceptionsButton() {
1539 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); 1510 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui()));
1540 // Exceptions apply only when the feature is enabled. 1511 // Exceptions apply only when the feature is enabled.
1541 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); 1512 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM);
1542 web_ui()->CallJavascriptFunction( 1513 web_ui()->CallJavascriptFunction(
1543 "ContentSettings.enableProtectedContentExceptions", 1514 "ContentSettings.enableProtectedContentExceptions",
1544 base::FundamentalValue(enable_exceptions)); 1515 base::FundamentalValue(enable_exceptions));
1545 } 1516 }
1546 1517
1547 } // namespace options 1518 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/content_settings/host_content_settings_map.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698