Chromium Code Reviews| 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 <memory> | 5 #include <memory> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| 11 #include "base/json/json_writer.h" | 11 #include "base/json/json_writer.h" |
| 12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
| 13 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 14 #include "chrome/browser/content_settings/content_settings_mock_observer.h" | 14 #include "chrome/browser/content_settings/content_settings_mock_observer.h" |
| 15 #include "chrome/browser/content_settings/cookie_settings_factory.h" | 15 #include "chrome/browser/content_settings/cookie_settings_factory.h" |
| 16 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 16 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
| 17 #include "chrome/browser/content_settings/mock_settings_observer.h" | 17 #include "chrome/browser/content_settings/mock_settings_observer.h" |
| 18 #include "chrome/common/url_constants.h" | 18 #include "chrome/common/url_constants.h" |
| 19 #include "chrome/test/base/testing_profile.h" | 19 #include "chrome/test/base/testing_profile.h" |
| 20 #include "components/content_settings/core/browser/content_settings_details.h" | 20 #include "components/content_settings/core/browser/content_settings_details.h" |
| 21 #include "components/content_settings/core/browser/cookie_settings.h" | 21 #include "components/content_settings/core/browser/cookie_settings.h" |
| 22 #include "components/content_settings/core/browser/host_content_settings_map.h" | 22 #include "components/content_settings/core/browser/host_content_settings_map.h" |
| 23 #include "components/content_settings/core/browser/website_settings_info.h" | 23 #include "components/content_settings/core/browser/website_settings_info.h" |
| 24 #include "components/content_settings/core/browser/website_settings_registry.h" | 24 #include "components/content_settings/core/browser/website_settings_registry.h" |
| 25 #include "components/content_settings/core/common/pref_names.h" | 25 #include "components/content_settings/core/common/pref_names.h" |
| 26 #include "components/policy/core/common/policy_service.h" | |
| 26 #include "components/prefs/pref_service.h" | 27 #include "components/prefs/pref_service.h" |
| 27 #include "components/prefs/scoped_user_pref_update.h" | 28 #include "components/prefs/scoped_user_pref_update.h" |
| 28 #include "components/sync_preferences/testing_pref_service_syncable.h" | 29 #include "components/sync_preferences/testing_pref_service_syncable.h" |
| 29 #include "content/public/test/test_browser_thread.h" | 30 #include "content/public/test/test_browser_thread.h" |
| 30 #include "net/base/static_cookie_policy.h" | 31 #include "net/base/static_cookie_policy.h" |
| 31 #include "ppapi/features/features.h" | 32 #include "ppapi/features/features.h" |
| 32 #include "testing/gtest/include/gtest/gtest.h" | 33 #include "testing/gtest/include/gtest/gtest.h" |
| 33 #include "url/gurl.h" | 34 #include "url/gurl.h" |
| 34 | 35 |
| 36 #if BUILDFLAG(ENABLE_EXTENSIONS) | |
| 37 #include "chrome/browser/extensions/extension_special_storage_policy.h" | |
| 38 #endif | |
|
raymes
2017/01/11 08:30:12
Are these 2 includes above needed?
benwells
2017/01/11 09:26:11
Yes, they are needed because two of the nullptrs p
| |
| 39 | |
| 35 using content::BrowserThread; | 40 using content::BrowserThread; |
| 36 | 41 |
| 37 using ::testing::_; | 42 using ::testing::_; |
| 38 | 43 |
| 39 namespace { | 44 namespace { |
| 40 | 45 |
| 41 bool MatchPrimaryPattern(const ContentSettingsPattern& expected_primary, | 46 bool MatchPrimaryPattern(const ContentSettingsPattern& expected_primary, |
| 42 const ContentSettingsPattern& primary_pattern, | 47 const ContentSettingsPattern& primary_pattern, |
| 43 const ContentSettingsPattern& secondary_pattern) { | 48 const ContentSettingsPattern& secondary_pattern) { |
| 44 return expected_primary == primary_pattern; | 49 return expected_primary == primary_pattern; |
| (...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1243 host_content_settings_map->AddObserver(&mock_observer); | 1248 host_content_settings_map->AddObserver(&mock_observer); |
| 1244 | 1249 |
| 1245 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1250 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1246 host_content_settings_map->GetContentSetting( | 1251 host_content_settings_map->GetContentSetting( |
| 1247 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1252 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1248 host_content_settings_map->SetContentSettingDefaultScope( | 1253 host_content_settings_map->SetContentSettingDefaultScope( |
| 1249 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(), | 1254 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| 1250 CONTENT_SETTING_DEFAULT); | 1255 CONTENT_SETTING_DEFAULT); |
| 1251 } | 1256 } |
| 1252 | 1257 |
| 1253 TEST_F(HostContentSettingsMapTest, GuestProfile) { | 1258 TEST_F(HostContentSettingsMapTest, GuestProfile) { |
|
msramek
2017/01/11 09:51:10
The guest profile is Desktop only (unless I'm real
| |
| 1254 TestingProfile profile; | 1259 TestingProfile profile(base::FilePath(), |
| 1255 profile.SetGuestSession(true); | 1260 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1261 nullptr, | |
| 1262 #endif | |
| 1263 nullptr, nullptr, nullptr, true /* guest_profile */, | |
| 1264 "", nullptr, TestingProfile::TestingFactories(), | |
|
raymes
2017/01/11 08:30:12
nit: std::string() for empty strings
| |
| 1265 "testing_profile"); | |
| 1256 HostContentSettingsMap* host_content_settings_map = | 1266 HostContentSettingsMap* host_content_settings_map = |
| 1257 HostContentSettingsMapFactory::GetForProfile(&profile); | 1267 HostContentSettingsMapFactory::GetForProfile(&profile); |
| 1258 | 1268 |
| 1259 GURL host("http://example.com/"); | 1269 GURL host("http://example.com/"); |
| 1260 ContentSettingsPattern pattern = | 1270 ContentSettingsPattern pattern = |
| 1261 ContentSettingsPattern::FromString("[*.]example.com"); | 1271 ContentSettingsPattern::FromString("[*.]example.com"); |
| 1262 | 1272 |
| 1263 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1273 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1264 host_content_settings_map->GetContentSetting( | 1274 host_content_settings_map->GetContentSetting( |
| 1265 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1275 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1266 | 1276 |
| 1267 // Changing content settings should not result in any prefs being stored | 1277 // Changing content settings should not result in any prefs being stored |
| 1268 // however the value should be set in memory. | 1278 // however the value should be set in memory. |
| 1269 host_content_settings_map->SetContentSettingDefaultScope( | 1279 host_content_settings_map->SetContentSettingDefaultScope( |
| 1270 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(), | 1280 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| 1271 CONTENT_SETTING_BLOCK); | 1281 CONTENT_SETTING_BLOCK); |
| 1272 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 1282 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
| 1273 host_content_settings_map->GetContentSetting( | 1283 host_content_settings_map->GetContentSetting( |
| 1274 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1284 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1275 | 1285 |
| 1276 const base::DictionaryValue* all_settings_dictionary = | 1286 const base::DictionaryValue* all_settings_dictionary = |
| 1277 profile.GetPrefs()->GetDictionary( | 1287 profile.GetPrefs()->GetDictionary( |
| 1278 GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES)); | 1288 GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 1279 EXPECT_TRUE(all_settings_dictionary->empty()); | 1289 EXPECT_TRUE(all_settings_dictionary->empty()); |
| 1280 } | 1290 } |
| 1281 | 1291 |
| 1282 // Default settings should not be modifiable for the guest profile (there is no | 1292 // Default settings should not be modifiable for the guest profile (there is no |
| 1283 // UI to do this). | 1293 // UI to do this). |
| 1284 TEST_F(HostContentSettingsMapTest, GuestProfileDefaultSetting) { | 1294 TEST_F(HostContentSettingsMapTest, GuestProfileDefaultSetting) { |
| 1285 TestingProfile profile; | 1295 TestingProfile profile(base::FilePath(), |
| 1286 profile.SetGuestSession(true); | 1296 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1297 nullptr, | |
| 1298 #endif | |
| 1299 nullptr, nullptr, nullptr, true /* guest_profile */, | |
| 1300 "", nullptr, TestingProfile::TestingFactories(), | |
| 1301 "testing_profile"); | |
| 1287 HostContentSettingsMap* host_content_settings_map = | 1302 HostContentSettingsMap* host_content_settings_map = |
| 1288 HostContentSettingsMapFactory::GetForProfile(&profile); | 1303 HostContentSettingsMapFactory::GetForProfile(&profile); |
| 1289 | 1304 |
| 1290 GURL host("http://example.com/"); | 1305 GURL host("http://example.com/"); |
| 1291 | 1306 |
| 1292 // There are no custom rules, so this should be the default. | 1307 // There are no custom rules, so this should be the default. |
| 1293 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1308 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1294 host_content_settings_map->GetContentSetting( | 1309 host_content_settings_map->GetContentSetting( |
| 1295 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1310 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1296 | 1311 |
| 1297 host_content_settings_map->SetDefaultContentSetting( | 1312 host_content_settings_map->SetDefaultContentSetting( |
| 1298 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); | 1313 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); |
| 1299 | 1314 |
| 1300 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1315 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1301 host_content_settings_map->GetContentSetting( | 1316 host_content_settings_map->GetContentSetting( |
| 1302 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1317 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1303 } | 1318 } |
| 1304 | 1319 |
| 1305 // We used to incorrectly store content settings in prefs for the guest profile. | 1320 // We used to incorrectly store content settings in prefs for the guest profile. |
| 1306 // We need to ensure these get deleted appropriately. | 1321 // We need to ensure these get deleted appropriately. |
| 1307 TEST_F(HostContentSettingsMapTest, GuestProfileMigration) { | 1322 TEST_F(HostContentSettingsMapTest, GuestProfileMigration) { |
| 1308 TestingProfile profile; | 1323 TestingProfile profile(base::FilePath(), |
| 1309 profile.SetGuestSession(true); | 1324 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1325 nullptr, | |
| 1326 #endif | |
| 1327 nullptr, nullptr, nullptr, true /* guest_profile */, | |
| 1328 "", nullptr, TestingProfile::TestingFactories(), | |
| 1329 "testing_profile"); | |
| 1310 | 1330 |
| 1311 // Set a pref manually in the guest profile. | 1331 // Set a pref manually in the guest profile. |
| 1312 std::unique_ptr<base::Value> value = | 1332 std::unique_ptr<base::Value> value = |
| 1313 base::JSONReader::Read("{\"[*.]\\xC4\\x87ira.com,*\":{\"setting\":1}}"); | 1333 base::JSONReader::Read("{\"[*.]\\xC4\\x87ira.com,*\":{\"setting\":1}}"); |
| 1314 profile.GetPrefs()->Set(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES), *value); | 1334 profile.GetPrefs()->Set(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES), *value); |
| 1315 | 1335 |
| 1316 // Test that during construction all the prefs get cleared. | 1336 // Test that during construction all the prefs get cleared. |
| 1317 HostContentSettingsMapFactory::GetForProfile(&profile); | 1337 HostContentSettingsMapFactory::GetForProfile(&profile); |
| 1318 | 1338 |
| 1319 const base::DictionaryValue* all_settings_dictionary = | 1339 const base::DictionaryValue* all_settings_dictionary = |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1490 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1510 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1491 host_content_settings_map->GetContentSetting( | 1511 host_content_settings_map->GetContentSetting( |
| 1492 https_host_narrower, https_host_narrower, | 1512 https_host_narrower, https_host_narrower, |
| 1493 CONTENT_SETTINGS_TYPE_COOKIES, std::string())); | 1513 CONTENT_SETTINGS_TYPE_COOKIES, std::string())); |
| 1494 } | 1514 } |
| 1495 | 1515 |
| 1496 // Ensure that migration only happens once upon construction of the HCSM and | 1516 // Ensure that migration only happens once upon construction of the HCSM and |
| 1497 // once after syncing (even when these events occur multiple times). | 1517 // once after syncing (even when these events occur multiple times). |
| 1498 TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) { | 1518 TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) { |
| 1499 TestingProfile profile; | 1519 TestingProfile profile; |
| 1520 | |
| 1521 // Construct the map now to make the various platforms equivalent. On Android | |
| 1522 // the map is created with the profile (due to dependencies), while on other | |
| 1523 // platform it is created lazily. Note, migration should be run here. | |
|
raymes
2017/01/11 08:30:12
nit: platforms
benwells
2017/01/12 03:10:43
Done.
| |
| 1524 HostContentSettingsMap* host_content_settings_map = | |
| 1525 HostContentSettingsMapFactory::GetForProfile(&profile); | |
| 1526 | |
| 1500 PrefService* prefs = profile.GetPrefs(); | 1527 PrefService* prefs = profile.GetPrefs(); |
| 1501 | 1528 |
| 1502 GURL http_host("http://example.com/"); | 1529 GURL http_host("http://example.com/"); |
| 1503 GURL http_host_narrower("http://a.example.com/"); | 1530 GURL http_host_narrower("http://a.example.com/"); |
| 1504 std::string host_pattern_string = | 1531 std::string host_pattern_string = |
| 1505 ContentSettingsPattern::FromURL(http_host).ToString(); | 1532 ContentSettingsPattern::FromURL(http_host).ToString(); |
| 1506 | 1533 |
| 1507 { | 1534 { |
| 1508 DictionaryPrefUpdate update(prefs, | 1535 DictionaryPrefUpdate update(prefs, |
| 1509 GetPrefName(CONTENT_SETTINGS_TYPE_POPUPS)); | 1536 GetPrefName(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 1510 base::DictionaryValue* all_settings_dictionary = update.Get(); | 1537 base::DictionaryValue* all_settings_dictionary = update.Get(); |
| 1511 ASSERT_TRUE(NULL != all_settings_dictionary); | 1538 ASSERT_TRUE(NULL != all_settings_dictionary); |
| 1512 | 1539 |
| 1513 base::DictionaryValue* domain_setting = new base::DictionaryValue; | 1540 base::DictionaryValue* domain_setting = new base::DictionaryValue; |
| 1514 domain_setting->SetInteger("setting", CONTENT_SETTING_ALLOW); | 1541 domain_setting->SetInteger("setting", CONTENT_SETTING_ALLOW); |
| 1515 all_settings_dictionary->SetWithoutPathExpansion(host_pattern_string + ",*", | 1542 all_settings_dictionary->SetWithoutPathExpansion(host_pattern_string + ",*", |
| 1516 domain_setting); | 1543 domain_setting); |
| 1517 } | 1544 } |
| 1518 | 1545 |
| 1519 const base::DictionaryValue* all_settings_dictionary = | 1546 const base::DictionaryValue* all_settings_dictionary = |
| 1520 prefs->GetDictionary(GetPrefName(CONTENT_SETTINGS_TYPE_POPUPS)); | 1547 prefs->GetDictionary(GetPrefName(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 1521 const base::DictionaryValue* result = NULL; | 1548 const base::DictionaryValue* result = NULL; |
| 1522 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( | 1549 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( |
| 1523 "[*.]example.com,*", &result)); | 1550 "[*.]example.com,*", &result)); |
| 1524 | 1551 |
| 1525 // Migration is done on construction of HostContentSettingsMap. | 1552 // Migration is done on construction of HostContentSettingsMap. True to run it |
|
raymes
2017/01/11 08:30:12
nit: True->Try
benwells
2017/01/12 03:10:43
Done.
| |
| 1526 HostContentSettingsMap* host_content_settings_map = | 1553 // again. This should not do anything as it has already ran. |
| 1527 HostContentSettingsMapFactory::GetForProfile(&profile); | 1554 host_content_settings_map->MigrateDomainScopedSettings( |
| 1555 false /* after_sync */); | |
| 1528 | 1556 |
| 1529 // Change default setting to BLOCK. | 1557 // Change default setting to BLOCK. |
| 1530 host_content_settings_map->SetDefaultContentSetting( | 1558 host_content_settings_map->SetDefaultContentSetting( |
| 1531 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_BLOCK); | 1559 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_BLOCK); |
| 1560 | |
| 1532 EXPECT_EQ( | 1561 EXPECT_EQ( |
| 1533 CONTENT_SETTING_ALLOW, | 1562 CONTENT_SETTING_ALLOW, |
| 1534 host_content_settings_map->GetContentSetting( | 1563 host_content_settings_map->GetContentSetting( |
| 1564 http_host, http_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | |
| 1565 | |
| 1566 // The setting should still be allow as it hasn't been migrated. | |
| 1567 EXPECT_EQ(CONTENT_SETTING_ALLOW, | |
| 1568 host_content_settings_map->GetContentSetting( | |
| 1569 http_host_narrower, http_host_narrower, | |
| 1570 CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | |
| 1571 | |
| 1572 // Set the pref to its initial state so that migration can be triggered again, | |
| 1573 // just for the sake of testing. | |
| 1574 int default_value; | |
| 1575 prefs->GetDefaultPrefValue(prefs::kDomainToOriginMigrationStatus) | |
| 1576 ->GetAsInteger(&default_value); | |
| 1577 prefs->SetInteger(prefs::kDomainToOriginMigrationStatus, default_value); | |
| 1578 | |
| 1579 // Now, do the migration. This should work as we've cleared the pref back to | |
| 1580 // its default value. | |
| 1581 host_content_settings_map->MigrateDomainScopedSettings(false); | |
| 1582 | |
| 1583 // Now the settings should be migrated. | |
| 1584 EXPECT_EQ( | |
| 1585 CONTENT_SETTING_ALLOW, | |
| 1586 host_content_settings_map->GetContentSetting( | |
| 1535 http_host, http_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | 1587 http_host, http_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); |
| 1536 // Settings only apply to origins. Migration got executed. | 1588 // Settings only apply to origins. Migration got executed. |
| 1537 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 1589 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
| 1538 host_content_settings_map->GetContentSetting( | 1590 host_content_settings_map->GetContentSetting( |
| 1539 http_host_narrower, http_host_narrower, | 1591 http_host_narrower, http_host_narrower, |
| 1540 CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | 1592 CONTENT_SETTINGS_TYPE_POPUPS, std::string())); |
| 1541 | 1593 |
| 1542 GURL https_host("https://example.com/"); | 1594 GURL https_host("https://example.com/"); |
| 1543 GURL https_host_narrower("https://a.example.com/"); | 1595 GURL https_host_narrower("https://a.example.com/"); |
| 1544 | 1596 |
| 1545 host_content_settings_map->SetContentSettingCustomScope( | 1597 host_content_settings_map->SetContentSettingCustomScope( |
| 1546 ContentSettingsPattern::FromURL(https_host), | 1598 ContentSettingsPattern::FromURL(https_host), |
| 1547 ContentSettingsPattern::Wildcard(), CONTENT_SETTINGS_TYPE_POPUPS, | 1599 ContentSettingsPattern::Wildcard(), CONTENT_SETTINGS_TYPE_POPUPS, |
| 1548 std::string(), CONTENT_SETTING_ALLOW); | 1600 std::string(), CONTENT_SETTING_ALLOW); |
| 1601 | |
| 1549 EXPECT_EQ( | 1602 EXPECT_EQ( |
| 1550 CONTENT_SETTING_ALLOW, | 1603 CONTENT_SETTING_ALLOW, |
| 1551 host_content_settings_map->GetContentSetting( | 1604 host_content_settings_map->GetContentSetting( |
| 1552 https_host, https_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | 1605 https_host, https_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); |
| 1553 // Settings apply to subdomains. | 1606 // Settings apply to subdomains. |
| 1554 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1607 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
| 1555 host_content_settings_map->GetContentSetting( | 1608 host_content_settings_map->GetContentSetting( |
| 1556 https_host_narrower, https_host_narrower, | 1609 https_host_narrower, https_host_narrower, |
| 1557 CONTENT_SETTINGS_TYPE_POPUPS, std::string())); | 1610 CONTENT_SETTINGS_TYPE_POPUPS, std::string())); |
| 1558 | 1611 |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1714 EXPECT_TRUE(map->CanSetNarrowestContentSetting( | 1767 EXPECT_TRUE(map->CanSetNarrowestContentSetting( |
| 1715 valid_url, valid_url, | 1768 valid_url, valid_url, |
| 1716 CONTENT_SETTINGS_TYPE_POPUPS)); | 1769 CONTENT_SETTINGS_TYPE_POPUPS)); |
| 1717 | 1770 |
| 1718 GURL invalid_url("about:blank"); | 1771 GURL invalid_url("about:blank"); |
| 1719 EXPECT_FALSE(map->CanSetNarrowestContentSetting( | 1772 EXPECT_FALSE(map->CanSetNarrowestContentSetting( |
| 1720 invalid_url, invalid_url, | 1773 invalid_url, invalid_url, |
| 1721 CONTENT_SETTINGS_TYPE_POPUPS)); | 1774 CONTENT_SETTINGS_TYPE_POPUPS)); |
| 1722 } | 1775 } |
| 1723 | 1776 |
| OLD | NEW |