| 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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 {"manageHandlers", IDS_HANDLERS_MANAGE}, | 345 {"manageHandlers", IDS_HANDLERS_MANAGE}, |
| 346 {"exceptionPatternHeader", IDS_EXCEPTIONS_PATTERN_HEADER}, | 346 {"exceptionPatternHeader", IDS_EXCEPTIONS_PATTERN_HEADER}, |
| 347 {"exceptionBehaviorHeader", IDS_EXCEPTIONS_ACTION_HEADER}, | 347 {"exceptionBehaviorHeader", IDS_EXCEPTIONS_ACTION_HEADER}, |
| 348 {"exceptionZoomHeader", IDS_EXCEPTIONS_ZOOM_HEADER}, | 348 {"exceptionZoomHeader", IDS_EXCEPTIONS_ZOOM_HEADER}, |
| 349 {"embeddedOnHost", IDS_EXCEPTIONS_GEOLOCATION_EMBEDDED_ON_HOST}, | 349 {"embeddedOnHost", IDS_EXCEPTIONS_GEOLOCATION_EMBEDDED_ON_HOST}, |
| 350 // Cookies filter. | 350 // Cookies filter. |
| 351 {"cookiesTabLabel", IDS_COOKIES_TAB_LABEL}, | 351 {"cookiesTabLabel", IDS_COOKIES_TAB_LABEL}, |
| 352 {"cookiesHeader", IDS_COOKIES_HEADER}, | 352 {"cookiesHeader", IDS_COOKIES_HEADER}, |
| 353 {"cookiesAllow", IDS_COOKIES_ALLOW_RADIO}, | 353 {"cookiesAllow", IDS_COOKIES_ALLOW_RADIO}, |
| 354 {"cookiesBlock", IDS_COOKIES_BLOCK_RADIO}, | 354 {"cookiesBlock", IDS_COOKIES_BLOCK_RADIO}, |
| 355 {"cookiesSession", IDS_COOKIES_SESSION_ONLY_RADIO}, | 355 {"cookiesSessionOnly", IDS_COOKIES_SESSION_ONLY_RADIO}, |
| 356 {"cookiesBlock3rdParty", IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX}, | 356 {"cookiesBlock3rdParty", IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX}, |
| 357 {"cookiesShowCookies", IDS_COOKIES_SHOW_COOKIES_BUTTON}, | 357 {"cookiesShowCookies", IDS_COOKIES_SHOW_COOKIES_BUTTON}, |
| 358 {"flashStorageSettings", IDS_FLASH_STORAGE_SETTINGS}, | 358 {"flashStorageSettings", IDS_FLASH_STORAGE_SETTINGS}, |
| 359 {"flashStorageUrl", IDS_FLASH_STORAGE_URL}, | 359 {"flashStorageUrl", IDS_FLASH_STORAGE_URL}, |
| 360 #if defined(ENABLE_GOOGLE_NOW) | 360 #if defined(ENABLE_GOOGLE_NOW) |
| 361 {"googleGeolocationAccessEnable", | 361 {"googleGeolocationAccessEnable", |
| 362 IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX}, | 362 IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX}, |
| 363 #endif | 363 #endif |
| 364 // Image filter. | 364 // Image filter. |
| 365 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, | 365 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS) | 467 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS) |
| 468 ->default_value_pref_name()); | 468 ->default_value_pref_name()); |
| 469 | 469 |
| 470 int default_value = CONTENT_SETTING_DEFAULT; | 470 int default_value = CONTENT_SETTING_DEFAULT; |
| 471 bool success = default_pref->GetAsInteger(&default_value); | 471 bool success = default_pref->GetAsInteger(&default_value); |
| 472 DCHECK(success); | 472 DCHECK(success); |
| 473 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value); | 473 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value); |
| 474 | 474 |
| 475 int plugin_ids = default_value == CONTENT_SETTING_DETECT_IMPORTANT_CONTENT ? | 475 int plugin_ids = default_value == CONTENT_SETTING_DETECT_IMPORTANT_CONTENT ? |
| 476 IDS_PLUGIN_DETECT_RECOMMENDED_RADIO : IDS_PLUGIN_DETECT_RADIO; | 476 IDS_PLUGIN_DETECT_RECOMMENDED_RADIO : IDS_PLUGIN_DETECT_RADIO; |
| 477 localized_strings->SetString("pluginsDetect", | 477 localized_strings->SetString("pluginsDetectImportantContent", |
| 478 l10n_util::GetStringUTF16(plugin_ids)); | 478 l10n_util::GetStringUTF16(plugin_ids)); |
| 479 | 479 |
| 480 RegisterTitle(localized_strings, "contentSettingsPage", | 480 RegisterTitle(localized_strings, "contentSettingsPage", |
| 481 IDS_CONTENT_SETTINGS_TITLE); | 481 IDS_CONTENT_SETTINGS_TITLE); |
| 482 | 482 |
| 483 // Register titles for each of the individual settings whose exception | 483 // Register titles for each of the individual settings whose exception |
| 484 // dialogs will be processed by |ContentSettingsHandler|. | 484 // dialogs will be processed by |ContentSettingsHandler|. |
| 485 RegisterTitle(localized_strings, "cookies", | 485 RegisterTitle(localized_strings, "cookies", |
| 486 IDS_COOKIES_TAB_LABEL); | 486 IDS_COOKIES_TAB_LABEL); |
| 487 RegisterTitle(localized_strings, "images", | 487 RegisterTitle(localized_strings, "images", |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 entry != exceptions.end(); ++entry) { | 912 entry != exceptions.end(); ++entry) { |
| 913 base::DictionaryValue* dict = nullptr; | 913 base::DictionaryValue* dict = nullptr; |
| 914 bool valid_dict = (*entry)->GetAsDictionary(&dict); | 914 bool valid_dict = (*entry)->GetAsDictionary(&dict); |
| 915 DCHECK(valid_dict); | 915 DCHECK(valid_dict); |
| 916 | 916 |
| 917 std::string origin; | 917 std::string origin; |
| 918 std::string setting; | 918 std::string setting; |
| 919 dict->GetString(kOrigin, &origin); | 919 dict->GetString(kOrigin, &origin); |
| 920 dict->GetString(kSetting, &setting); | 920 dict->GetString(kSetting, &setting); |
| 921 | 921 |
| 922 ContentSetting setting_type = CONTENT_SETTING_DEFAULT; |
| 923 bool result = |
| 924 content_settings::ContentSettingFromString(setting, &setting_type); |
| 925 DCHECK(result); |
| 926 |
| 922 settings.exceptions.push_back(MediaException( | 927 settings.exceptions.push_back(MediaException( |
| 923 ContentSettingsPattern::FromString(origin), | 928 ContentSettingsPattern::FromString(origin), |
| 924 ContentSettingFromString(setting))); | 929 setting_type)); |
| 925 } | 930 } |
| 926 | 931 |
| 927 PepperFlashContentSettingsUtils::SortMediaExceptions( | 932 PepperFlashContentSettingsUtils::SortMediaExceptions( |
| 928 &settings.exceptions); | 933 &settings.exceptions); |
| 929 | 934 |
| 930 settings.exceptions_initialized = true; | 935 settings.exceptions_initialized = true; |
| 931 UpdateFlashMediaLinksVisibility(type); | 936 UpdateFlashMediaLinksVisibility(type); |
| 932 } | 937 } |
| 933 | 938 |
| 934 void ContentSettingsHandler::UpdateMIDISysExExceptionsView() { | 939 void ContentSettingsHandler::UpdateMIDISysExExceptionsView() { |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1314 | 1319 |
| 1315 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) { | 1320 void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) { |
| 1316 DCHECK_EQ(2U, args->GetSize()); | 1321 DCHECK_EQ(2U, args->GetSize()); |
| 1317 std::string group, setting; | 1322 std::string group, setting; |
| 1318 if (!(args->GetString(0, &group) && | 1323 if (!(args->GetString(0, &group) && |
| 1319 args->GetString(1, &setting))) { | 1324 args->GetString(1, &setting))) { |
| 1320 NOTREACHED(); | 1325 NOTREACHED(); |
| 1321 return; | 1326 return; |
| 1322 } | 1327 } |
| 1323 | 1328 |
| 1324 ContentSetting default_setting = ContentSettingFromString(setting); | 1329 ContentSetting default_setting = CONTENT_SETTING_DEFAULT; |
| 1330 bool result = |
| 1331 content_settings::ContentSettingFromString(setting, &default_setting); |
| 1332 DCHECK(result); |
| 1333 |
| 1325 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group); | 1334 ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group); |
| 1326 Profile* profile = Profile::FromWebUI(web_ui()); | 1335 Profile* profile = Profile::FromWebUI(web_ui()); |
| 1327 | 1336 |
| 1328 #if defined(OS_CHROMEOS) | 1337 #if defined(OS_CHROMEOS) |
| 1329 // ChromeOS special case : in Guest mode settings are opened in Incognito | 1338 // ChromeOS special case : in Guest mode settings are opened in Incognito |
| 1330 // mode, so we need original profile to actually modify settings. | 1339 // mode, so we need original profile to actually modify settings. |
| 1331 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) | 1340 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) |
| 1332 profile = profile->GetOriginalProfile(); | 1341 profile = profile->GetOriginalProfile(); |
| 1333 #endif | 1342 #endif |
| 1334 | 1343 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1437 NOTREACHED(); | 1446 NOTREACHED(); |
| 1438 } else { | 1447 } else { |
| 1439 HostContentSettingsMap* settings_map = | 1448 HostContentSettingsMap* settings_map = |
| 1440 mode == "normal" ? GetContentSettingsMap() : | 1449 mode == "normal" ? GetContentSettingsMap() : |
| 1441 GetOTRContentSettingsMap(); | 1450 GetOTRContentSettingsMap(); |
| 1442 | 1451 |
| 1443 // The settings map could be null if the mode was OTR but the OTR profile | 1452 // The settings map could be null if the mode was OTR but the OTR profile |
| 1444 // got destroyed before we received this message. | 1453 // got destroyed before we received this message. |
| 1445 if (!settings_map) | 1454 if (!settings_map) |
| 1446 return; | 1455 return; |
| 1456 |
| 1457 ContentSetting setting_type = CONTENT_SETTING_DEFAULT; |
| 1458 bool result = |
| 1459 content_settings::ContentSettingFromString(setting, &setting_type); |
| 1460 DCHECK(result); |
| 1461 |
| 1447 settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern), | 1462 settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern), |
| 1448 ContentSettingsPattern::Wildcard(), | 1463 ContentSettingsPattern::Wildcard(), |
| 1449 type, | 1464 type, |
| 1450 std::string(), | 1465 std::string(), |
| 1451 ContentSettingFromString(setting)); | 1466 setting_type); |
| 1452 } | 1467 } |
| 1453 } | 1468 } |
| 1454 | 1469 |
| 1455 void ContentSettingsHandler::CheckExceptionPatternValidity( | 1470 void ContentSettingsHandler::CheckExceptionPatternValidity( |
| 1456 const base::ListValue* args) { | 1471 const base::ListValue* args) { |
| 1457 std::string type_string; | 1472 std::string type_string; |
| 1458 CHECK(args->GetString(0, &type_string)); | 1473 CHECK(args->GetString(0, &type_string)); |
| 1459 std::string mode_string; | 1474 std::string mode_string; |
| 1460 CHECK(args->GetString(1, &mode_string)); | 1475 CHECK(args->GetString(1, &mode_string)); |
| 1461 std::string pattern_string; | 1476 std::string pattern_string; |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1622 | 1637 |
| 1623 // Exceptions apply only when the feature is enabled. | 1638 // Exceptions apply only when the feature is enabled. |
| 1624 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); | 1639 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); |
| 1625 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); | 1640 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); |
| 1626 web_ui()->CallJavascriptFunction( | 1641 web_ui()->CallJavascriptFunction( |
| 1627 "ContentSettings.enableProtectedContentExceptions", | 1642 "ContentSettings.enableProtectedContentExceptions", |
| 1628 base::FundamentalValue(enable_exceptions)); | 1643 base::FundamentalValue(enable_exceptions)); |
| 1629 } | 1644 } |
| 1630 | 1645 |
| 1631 } // namespace options | 1646 } // namespace options |
| OLD | NEW |