| OLD | NEW |
| 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 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 const ContentSettingsPattern& pattern, | 179 const ContentSettingsPattern& pattern, |
| 180 const ContentSettingsPattern& secondary_pattern, | 180 const ContentSettingsPattern& secondary_pattern, |
| 181 const ContentSetting& setting, | 181 const ContentSetting& setting, |
| 182 const std::string& provider_name) { | 182 const std::string& provider_name) { |
| 183 base::DictionaryValue* exception = new base::DictionaryValue(); | 183 base::DictionaryValue* exception = new base::DictionaryValue(); |
| 184 exception->SetString(kOrigin, pattern.ToString()); | 184 exception->SetString(kOrigin, pattern.ToString()); |
| 185 exception->SetString(kEmbeddingOrigin, | 185 exception->SetString(kEmbeddingOrigin, |
| 186 secondary_pattern == ContentSettingsPattern::Wildcard() ? | 186 secondary_pattern == ContentSettingsPattern::Wildcard() ? |
| 187 std::string() : | 187 std::string() : |
| 188 secondary_pattern.ToString()); | 188 secondary_pattern.ToString()); |
| 189 exception->SetString(kSetting, ContentSettingToString(setting)); | 189 |
| 190 std::string setting_string = |
| 191 content_settings::ContentSettingToString(setting); |
| 192 DCHECK(!setting_string.empty()); |
| 193 |
| 194 exception->SetString(kSetting, setting_string); |
| 190 exception->SetString(kSource, provider_name); | 195 exception->SetString(kSource, provider_name); |
| 191 return make_scoped_ptr(exception); | 196 return make_scoped_ptr(exception); |
| 192 } | 197 } |
| 193 | 198 |
| 194 // Create a DictionaryValue* that will act as a data source for a single row | 199 // Create a DictionaryValue* that will act as a data source for a single row |
| 195 // in the Geolocation exceptions table. | 200 // in the Geolocation exceptions table. |
| 196 scoped_ptr<base::DictionaryValue> GetGeolocationExceptionForPage( | 201 scoped_ptr<base::DictionaryValue> GetGeolocationExceptionForPage( |
| 197 const ContentSettingsPattern& origin, | 202 const ContentSettingsPattern& origin, |
| 198 const ContentSettingsPattern& embedding_origin, | 203 const ContentSettingsPattern& embedding_origin, |
| 199 ContentSetting setting) { | 204 ContentSetting setting) { |
| 200 base::DictionaryValue* exception = new base::DictionaryValue(); | 205 base::DictionaryValue* exception = new base::DictionaryValue(); |
| 201 exception->SetString(kSetting, ContentSettingToString(setting)); | 206 |
| 207 std::string setting_string = |
| 208 content_settings::ContentSettingToString(setting); |
| 209 DCHECK(!setting_string.empty()); |
| 210 |
| 211 exception->SetString(kSetting, setting_string); |
| 202 exception->SetString(kOrigin, origin.ToString()); | 212 exception->SetString(kOrigin, origin.ToString()); |
| 203 exception->SetString(kEmbeddingOrigin, embedding_origin.ToString()); | 213 exception->SetString(kEmbeddingOrigin, embedding_origin.ToString()); |
| 204 return make_scoped_ptr(exception); | 214 return make_scoped_ptr(exception); |
| 205 } | 215 } |
| 206 | 216 |
| 207 // Create a DictionaryValue* that will act as a data source for a single row | 217 // Create a DictionaryValue* that will act as a data source for a single row |
| 208 // in the desktop notifications exceptions table. | 218 // in the desktop notifications exceptions table. |
| 209 scoped_ptr<base::DictionaryValue> GetNotificationExceptionForPage( | 219 scoped_ptr<base::DictionaryValue> GetNotificationExceptionForPage( |
| 210 const ContentSettingsPattern& primary_pattern, | 220 const ContentSettingsPattern& primary_pattern, |
| 211 const ContentSettingsPattern& secondary_pattern, | 221 const ContentSettingsPattern& secondary_pattern, |
| 212 ContentSetting setting, | 222 ContentSetting setting, |
| 213 const std::string& provider_name) { | 223 const std::string& provider_name) { |
| 214 std::string embedding_origin; | 224 std::string embedding_origin; |
| 215 if (secondary_pattern != ContentSettingsPattern::Wildcard()) | 225 if (secondary_pattern != ContentSettingsPattern::Wildcard()) |
| 216 embedding_origin = secondary_pattern.ToString(); | 226 embedding_origin = secondary_pattern.ToString(); |
| 217 | 227 |
| 218 base::DictionaryValue* exception = new base::DictionaryValue(); | 228 base::DictionaryValue* exception = new base::DictionaryValue(); |
| 219 exception->SetString(kSetting, ContentSettingToString(setting)); | 229 |
| 230 std::string setting_string = |
| 231 content_settings::ContentSettingToString(setting); |
| 232 DCHECK(!setting_string.empty()); |
| 233 |
| 234 exception->SetString(kSetting, setting_string); |
| 220 exception->SetString(kOrigin, primary_pattern.ToString()); | 235 exception->SetString(kOrigin, primary_pattern.ToString()); |
| 221 exception->SetString(kEmbeddingOrigin, embedding_origin); | 236 exception->SetString(kEmbeddingOrigin, embedding_origin); |
| 222 exception->SetString(kSource, provider_name); | 237 exception->SetString(kSource, provider_name); |
| 223 return make_scoped_ptr(exception); | 238 return make_scoped_ptr(exception); |
| 224 } | 239 } |
| 225 | 240 |
| 226 // Returns true whenever the |extension| is hosted and has |permission|. | 241 // Returns true whenever the |extension| is hosted and has |permission|. |
| 227 // Must have the AppFilter signature. | 242 // Must have the AppFilter signature. |
| 228 template <APIPermission::ID permission> | 243 template <APIPermission::ID permission> |
| 229 bool HostedAppHasPermission(const extensions::Extension& extension, | 244 bool HostedAppHasPermission(const extensions::Extension& extension, |
| 230 content::BrowserContext* /* context */) { | 245 content::BrowserContext* /* context */) { |
| 231 return extension.is_hosted_app() && | 246 return extension.is_hosted_app() && |
| 232 extension.permissions_data()->HasAPIPermission(permission); | 247 extension.permissions_data()->HasAPIPermission(permission); |
| 233 } | 248 } |
| 234 | 249 |
| 235 // Add an "Allow"-entry to the list of |exceptions| for a |url_pattern| from | 250 // Add an "Allow"-entry to the list of |exceptions| for a |url_pattern| from |
| 236 // the web extent of a hosted |app|. | 251 // the web extent of a hosted |app|. |
| 237 void AddExceptionForHostedApp(const std::string& url_pattern, | 252 void AddExceptionForHostedApp(const std::string& url_pattern, |
| 238 const extensions::Extension& app, base::ListValue* exceptions) { | 253 const extensions::Extension& app, base::ListValue* exceptions) { |
| 239 base::DictionaryValue* exception = new base::DictionaryValue(); | 254 base::DictionaryValue* exception = new base::DictionaryValue(); |
| 240 exception->SetString(kSetting, ContentSettingToString(CONTENT_SETTING_ALLOW)); | 255 |
| 256 std::string setting_string = |
| 257 content_settings::ContentSettingToString(CONTENT_SETTING_ALLOW); |
| 258 DCHECK(!setting_string.empty()); |
| 259 |
| 260 exception->SetString(kSetting, setting_string); |
| 241 exception->SetString(kOrigin, url_pattern); | 261 exception->SetString(kOrigin, url_pattern); |
| 242 exception->SetString(kEmbeddingOrigin, url_pattern); | 262 exception->SetString(kEmbeddingOrigin, url_pattern); |
| 243 exception->SetString(kSource, "HostedApp"); | 263 exception->SetString(kSource, "HostedApp"); |
| 244 exception->SetString(kAppName, app.name()); | 264 exception->SetString(kAppName, app.name()); |
| 245 exception->SetString(kAppId, app.id()); | 265 exception->SetString(kAppId, app.id()); |
| 246 exceptions->Append(exception); | 266 exceptions->Append(exception); |
| 247 } | 267 } |
| 248 | 268 |
| 249 // Asks the |profile| for hosted apps which have the |permission| set, and | 269 // Asks the |profile| for hosted apps which have the |permission| set, and |
| 250 // adds their web extent and launch URL to the |exceptions| list. | 270 // adds their web extent and launch URL to the |exceptions| list. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 {"manageHandlers", IDS_HANDLERS_MANAGE}, | 365 {"manageHandlers", IDS_HANDLERS_MANAGE}, |
| 346 {"exceptionPatternHeader", IDS_EXCEPTIONS_PATTERN_HEADER}, | 366 {"exceptionPatternHeader", IDS_EXCEPTIONS_PATTERN_HEADER}, |
| 347 {"exceptionBehaviorHeader", IDS_EXCEPTIONS_ACTION_HEADER}, | 367 {"exceptionBehaviorHeader", IDS_EXCEPTIONS_ACTION_HEADER}, |
| 348 {"exceptionZoomHeader", IDS_EXCEPTIONS_ZOOM_HEADER}, | 368 {"exceptionZoomHeader", IDS_EXCEPTIONS_ZOOM_HEADER}, |
| 349 {"embeddedOnHost", IDS_EXCEPTIONS_GEOLOCATION_EMBEDDED_ON_HOST}, | 369 {"embeddedOnHost", IDS_EXCEPTIONS_GEOLOCATION_EMBEDDED_ON_HOST}, |
| 350 // Cookies filter. | 370 // Cookies filter. |
| 351 {"cookiesTabLabel", IDS_COOKIES_TAB_LABEL}, | 371 {"cookiesTabLabel", IDS_COOKIES_TAB_LABEL}, |
| 352 {"cookiesHeader", IDS_COOKIES_HEADER}, | 372 {"cookiesHeader", IDS_COOKIES_HEADER}, |
| 353 {"cookiesAllow", IDS_COOKIES_ALLOW_RADIO}, | 373 {"cookiesAllow", IDS_COOKIES_ALLOW_RADIO}, |
| 354 {"cookiesBlock", IDS_COOKIES_BLOCK_RADIO}, | 374 {"cookiesBlock", IDS_COOKIES_BLOCK_RADIO}, |
| 355 {"cookiesSession", IDS_COOKIES_SESSION_ONLY_RADIO}, | 375 {"cookiesSessionOnly", IDS_COOKIES_SESSION_ONLY_RADIO}, |
| 356 {"cookiesBlock3rdParty", IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX}, | 376 {"cookiesBlock3rdParty", IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX}, |
| 357 {"cookiesShowCookies", IDS_COOKIES_SHOW_COOKIES_BUTTON}, | 377 {"cookiesShowCookies", IDS_COOKIES_SHOW_COOKIES_BUTTON}, |
| 358 {"flashStorageSettings", IDS_FLASH_STORAGE_SETTINGS}, | 378 {"flashStorageSettings", IDS_FLASH_STORAGE_SETTINGS}, |
| 359 {"flashStorageUrl", IDS_FLASH_STORAGE_URL}, | 379 {"flashStorageUrl", IDS_FLASH_STORAGE_URL}, |
| 360 #if defined(ENABLE_GOOGLE_NOW) | 380 #if defined(ENABLE_GOOGLE_NOW) |
| 361 {"googleGeolocationAccessEnable", | 381 {"googleGeolocationAccessEnable", |
| 362 IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX}, | 382 IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX}, |
| 363 #endif | 383 #endif |
| 364 // Image filter. | 384 // Image filter. |
| 365 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, | 385 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS) | 487 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS) |
| 468 ->default_value_pref_name()); | 488 ->default_value_pref_name()); |
| 469 | 489 |
| 470 int default_value = CONTENT_SETTING_DEFAULT; | 490 int default_value = CONTENT_SETTING_DEFAULT; |
| 471 bool success = default_pref->GetAsInteger(&default_value); | 491 bool success = default_pref->GetAsInteger(&default_value); |
| 472 DCHECK(success); | 492 DCHECK(success); |
| 473 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value); | 493 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value); |
| 474 | 494 |
| 475 int plugin_ids = default_value == CONTENT_SETTING_DETECT_IMPORTANT_CONTENT ? | 495 int plugin_ids = default_value == CONTENT_SETTING_DETECT_IMPORTANT_CONTENT ? |
| 476 IDS_PLUGIN_DETECT_RECOMMENDED_RADIO : IDS_PLUGIN_DETECT_RADIO; | 496 IDS_PLUGIN_DETECT_RECOMMENDED_RADIO : IDS_PLUGIN_DETECT_RADIO; |
| 477 localized_strings->SetString("pluginsDetect", | 497 localized_strings->SetString("pluginsDetectImportantContent", |
| 478 l10n_util::GetStringUTF16(plugin_ids)); | 498 l10n_util::GetStringUTF16(plugin_ids)); |
| 479 | 499 |
| 480 RegisterTitle(localized_strings, "contentSettingsPage", | 500 RegisterTitle(localized_strings, "contentSettingsPage", |
| 481 IDS_CONTENT_SETTINGS_TITLE); | 501 IDS_CONTENT_SETTINGS_TITLE); |
| 482 | 502 |
| 483 // Register titles for each of the individual settings whose exception | 503 // Register titles for each of the individual settings whose exception |
| 484 // dialogs will be processed by |ContentSettingsHandler|. | 504 // dialogs will be processed by |ContentSettingsHandler|. |
| 485 RegisterTitle(localized_strings, "cookies", | 505 RegisterTitle(localized_strings, "cookies", |
| 486 IDS_COOKIES_TAB_LABEL); | 506 IDS_COOKIES_TAB_LABEL); |
| 487 RegisterTitle(localized_strings, "images", | 507 RegisterTitle(localized_strings, "images", |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 if (type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || | 728 if (type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
| 709 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) { | 729 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) { |
| 710 UpdateMediaSettingsFromPrefs(type); | 730 UpdateMediaSettingsFromPrefs(type); |
| 711 if (media_settings_->forType(type).policy_disable) { | 731 if (media_settings_->forType(type).policy_disable) { |
| 712 default_setting = CONTENT_SETTING_BLOCK; | 732 default_setting = CONTENT_SETTING_BLOCK; |
| 713 provider_id = kPolicyProviderId; | 733 provider_id = kPolicyProviderId; |
| 714 } | 734 } |
| 715 } | 735 } |
| 716 | 736 |
| 717 base::DictionaryValue filter_settings; | 737 base::DictionaryValue filter_settings; |
| 738 |
| 739 std::string setting_string = |
| 740 content_settings::ContentSettingToString(default_setting); |
| 741 DCHECK(!setting_string.empty()); |
| 742 |
| 718 filter_settings.SetString(ContentSettingsTypeToGroupName(type) + ".value", | 743 filter_settings.SetString(ContentSettingsTypeToGroupName(type) + ".value", |
| 719 ContentSettingToString(default_setting)); | 744 setting_string); |
| 720 filter_settings.SetString( | 745 filter_settings.SetString( |
| 721 ContentSettingsTypeToGroupName(type) + ".managedBy", provider_id); | 746 ContentSettingsTypeToGroupName(type) + ".managedBy", provider_id); |
| 722 | 747 |
| 723 web_ui()->CallJavascriptFunction( | 748 web_ui()->CallJavascriptFunction( |
| 724 "ContentSettings.setContentFilterSettingsValue", filter_settings); | 749 "ContentSettings.setContentFilterSettingsValue", filter_settings); |
| 725 } | 750 } |
| 726 | 751 |
| 727 void ContentSettingsHandler::UpdateMediaSettingsFromPrefs( | 752 void ContentSettingsHandler::UpdateMediaSettingsFromPrefs( |
| 728 ContentSettingsType type) { | 753 ContentSettingsType type) { |
| 729 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); | 754 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 entry != exceptions.end(); ++entry) { | 937 entry != exceptions.end(); ++entry) { |
| 913 base::DictionaryValue* dict = nullptr; | 938 base::DictionaryValue* dict = nullptr; |
| 914 bool valid_dict = (*entry)->GetAsDictionary(&dict); | 939 bool valid_dict = (*entry)->GetAsDictionary(&dict); |
| 915 DCHECK(valid_dict); | 940 DCHECK(valid_dict); |
| 916 | 941 |
| 917 std::string origin; | 942 std::string origin; |
| 918 std::string setting; | 943 std::string setting; |
| 919 dict->GetString(kOrigin, &origin); | 944 dict->GetString(kOrigin, &origin); |
| 920 dict->GetString(kSetting, &setting); | 945 dict->GetString(kSetting, &setting); |
| 921 | 946 |
| 947 ContentSetting setting_type; |
| 948 bool result = |
| 949 content_settings::ContentSettingFromString(setting, &setting_type); |
| 950 DCHECK(result); |
| 951 |
| 922 settings.exceptions.push_back(MediaException( | 952 settings.exceptions.push_back(MediaException( |
| 923 ContentSettingsPattern::FromString(origin), | 953 ContentSettingsPattern::FromString(origin), |
| 924 ContentSettingFromString(setting))); | 954 setting_type)); |
| 925 } | 955 } |
| 926 | 956 |
| 927 PepperFlashContentSettingsUtils::SortMediaExceptions( | 957 PepperFlashContentSettingsUtils::SortMediaExceptions( |
| 928 &settings.exceptions); | 958 &settings.exceptions); |
| 929 | 959 |
| 930 settings.exceptions_initialized = true; | 960 settings.exceptions_initialized = true; |
| 931 UpdateFlashMediaLinksVisibility(type); | 961 UpdateFlashMediaLinksVisibility(type); |
| 932 } | 962 } |
| 933 | 963 |
| 934 void ContentSettingsHandler::UpdateMIDISysExExceptionsView() { | 964 void ContentSettingsHandler::UpdateMIDISysExExceptionsView() { |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1010 } | 1040 } |
| 1011 case content::HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST: | 1041 case content::HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST: |
| 1012 // These are not stored in preferences and get cleared on next browser | 1042 // These are not stored in preferences and get cleared on next browser |
| 1013 // start. Therefore, we don't care for them. | 1043 // start. Therefore, we don't care for them. |
| 1014 continue; | 1044 continue; |
| 1015 case content::HostZoomMap::PAGE_SCALE_IS_ONE_CHANGED: | 1045 case content::HostZoomMap::PAGE_SCALE_IS_ONE_CHANGED: |
| 1016 continue; | 1046 continue; |
| 1017 case content::HostZoomMap::ZOOM_CHANGED_TEMPORARY_ZOOM: | 1047 case content::HostZoomMap::ZOOM_CHANGED_TEMPORARY_ZOOM: |
| 1018 NOTREACHED(); | 1048 NOTREACHED(); |
| 1019 } | 1049 } |
| 1020 exception->SetString(kSetting, | 1050 |
| 1021 ContentSettingToString(CONTENT_SETTING_DEFAULT)); | 1051 std::string setting_string = |
| 1052 content_settings::ContentSettingToString(CONTENT_SETTING_DEFAULT); |
| 1053 DCHECK(!setting_string.empty()); |
| 1054 |
| 1055 exception->SetString(kSetting, setting_string); |
| 1022 | 1056 |
| 1023 // Calculate the zoom percent from the factor. Round up to the nearest whole | 1057 // Calculate the zoom percent from the factor. Round up to the nearest whole |
| 1024 // number. | 1058 // number. |
| 1025 int zoom_percent = static_cast<int>( | 1059 int zoom_percent = static_cast<int>( |
| 1026 content::ZoomLevelToZoomFactor(i->zoom_level) * 100 + 0.5); | 1060 content::ZoomLevelToZoomFactor(i->zoom_level) * 100 + 0.5); |
| 1027 exception->SetString( | 1061 exception->SetString( |
| 1028 kZoom, | 1062 kZoom, |
| 1029 l10n_util::GetStringFUTF16(IDS_ZOOM_PERCENT, | 1063 l10n_util::GetStringFUTF16(IDS_ZOOM_PERCENT, |
| 1030 base::IntToString16(zoom_percent))); | 1064 base::IntToString16(zoom_percent))); |
| 1031 exception->SetString(kSource, kPreferencesSource); | 1065 exception->SetString(kSource, kPreferencesSource); |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1314 | 1348 |
| 1315 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) { | 1349 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) { |
| 1316 DCHECK_EQ(2U, args->GetSize()); | 1350 DCHECK_EQ(2U, args->GetSize()); |
| 1317 std::string group, setting; | 1351 std::string group, setting; |
| 1318 if (!(args->GetString(0, &group) && | 1352 if (!(args->GetString(0, &group) && |
| 1319 args->GetString(1, &setting))) { | 1353 args->GetString(1, &setting))) { |
| 1320 NOTREACHED(); | 1354 NOTREACHED(); |
| 1321 return; | 1355 return; |
| 1322 } | 1356 } |
| 1323 | 1357 |
| 1324 ContentSetting default_setting = ContentSettingFromString(setting); | 1358 ContentSetting default_setting; |
| 1359 bool result = |
| 1360 content_settings::ContentSettingFromString(setting, &default_setting); |
| 1361 DCHECK(result); |
| 1362 |
| 1325 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group); | 1363 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group); |
| 1326 Profile* profile = Profile::FromWebUI(web_ui()); | 1364 Profile* profile = Profile::FromWebUI(web_ui()); |
| 1327 | 1365 |
| 1328 #if defined(OS_CHROMEOS) | 1366 #if defined(OS_CHROMEOS) |
| 1329 // ChromeOS special case : in Guest mode settings are opened in Incognito | 1367 // ChromeOS special case : in Guest mode settings are opened in Incognito |
| 1330 // mode, so we need original profile to actually modify settings. | 1368 // mode, so we need original profile to actually modify settings. |
| 1331 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) | 1369 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) |
| 1332 profile = profile->GetOriginalProfile(); | 1370 profile = profile->GetOriginalProfile(); |
| 1333 #endif | 1371 #endif |
| 1334 | 1372 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1437 NOTREACHED(); | 1475 NOTREACHED(); |
| 1438 } else { | 1476 } else { |
| 1439 HostContentSettingsMap* settings_map = | 1477 HostContentSettingsMap* settings_map = |
| 1440 mode == "normal" ? GetContentSettingsMap() : | 1478 mode == "normal" ? GetContentSettingsMap() : |
| 1441 GetOTRContentSettingsMap(); | 1479 GetOTRContentSettingsMap(); |
| 1442 | 1480 |
| 1443 // The settings map could be null if the mode was OTR but the OTR profile | 1481 // The settings map could be null if the mode was OTR but the OTR profile |
| 1444 // got destroyed before we received this message. | 1482 // got destroyed before we received this message. |
| 1445 if (!settings_map) | 1483 if (!settings_map) |
| 1446 return; | 1484 return; |
| 1485 |
| 1486 ContentSetting setting_type; |
| 1487 bool result = |
| 1488 content_settings::ContentSettingFromString(setting, &setting_type); |
| 1489 DCHECK(result); |
| 1490 |
| 1447 settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern), | 1491 settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern), |
| 1448 ContentSettingsPattern::Wildcard(), | 1492 ContentSettingsPattern::Wildcard(), |
| 1449 type, | 1493 type, |
| 1450 std::string(), | 1494 std::string(), |
| 1451 ContentSettingFromString(setting)); | 1495 setting_type); |
| 1452 } | 1496 } |
| 1453 } | 1497 } |
| 1454 | 1498 |
| 1455 void ContentSettingsHandler::CheckExceptionPatternValidity( | 1499 void ContentSettingsHandler::CheckExceptionPatternValidity( |
| 1456 const base::ListValue* args) { | 1500 const base::ListValue* args) { |
| 1457 std::string type_string; | 1501 std::string type_string; |
| 1458 CHECK(args->GetString(0, &type_string)); | 1502 CHECK(args->GetString(0, &type_string)); |
| 1459 std::string mode_string; | 1503 std::string mode_string; |
| 1460 CHECK(args->GetString(1, &mode_string)); | 1504 CHECK(args->GetString(1, &mode_string)); |
| 1461 std::string pattern_string; | 1505 std::string pattern_string; |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1622 | 1666 |
| 1623 // Exceptions apply only when the feature is enabled. | 1667 // Exceptions apply only when the feature is enabled. |
| 1624 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); | 1668 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); |
| 1625 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); | 1669 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); |
| 1626 web_ui()->CallJavascriptFunction( | 1670 web_ui()->CallJavascriptFunction( |
| 1627 "ContentSettings.enableProtectedContentExceptions", | 1671 "ContentSettings.enableProtectedContentExceptions", |
| 1628 base::FundamentalValue(enable_exceptions)); | 1672 base::FundamentalValue(enable_exceptions)); |
| 1629 } | 1673 } |
| 1630 | 1674 |
| 1631 } // namespace options | 1675 } // namespace options |
| OLD | NEW |