| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/browsing_data/chrome_browsing_data_remover_delegate.h" | 5 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" |
| 6 | 6 |
| 7 #include "base/guid.h" | 7 #include "base/guid.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 1573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1584 host_settings[0].primary_pattern) | 1584 host_settings[0].primary_pattern) |
| 1585 << host_settings[0].primary_pattern.ToString(); | 1585 << host_settings[0].primary_pattern.ToString(); |
| 1586 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin4), | 1586 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin4), |
| 1587 host_settings[1].primary_pattern) | 1587 host_settings[1].primary_pattern) |
| 1588 << host_settings[1].primary_pattern.ToString(); | 1588 << host_settings[1].primary_pattern.ToString(); |
| 1589 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3), | 1589 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3), |
| 1590 host_settings[2].primary_pattern) | 1590 host_settings[2].primary_pattern) |
| 1591 << host_settings[2].primary_pattern.ToString(); | 1591 << host_settings[2].primary_pattern.ToString(); |
| 1592 } | 1592 } |
| 1593 | 1593 |
| 1594 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveContentSettings) { |
| 1595 auto* map = HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
| 1596 map->SetContentSettingDefaultScope(kOrigin1, kOrigin1, |
| 1597 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
| 1598 std::string(), CONTENT_SETTING_ALLOW); |
| 1599 map->SetContentSettingDefaultScope(kOrigin2, kOrigin2, |
| 1600 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
| 1601 std::string(), CONTENT_SETTING_ALLOW); |
| 1602 map->SetContentSettingDefaultScope(kOrigin2, kOrigin2, |
| 1603 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1604 std::string(), CONTENT_SETTING_ALLOW); |
| 1605 map->SetContentSettingDefaultScope(kOrigin3, kOrigin3, |
| 1606 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1607 std::string(), CONTENT_SETTING_ALLOW); |
| 1608 |
| 1609 // Clear all except for origin1 and origin3. |
| 1610 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
| 1611 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1612 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1613 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
| 1614 BlockUntilOriginDataRemoved( |
| 1615 base::Time(), base::Time::Max(), |
| 1616 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS, |
| 1617 std::move(filter)); |
| 1618 |
| 1619 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS, |
| 1620 GetRemovalMask()); |
| 1621 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1622 GetOriginTypeMask()); |
| 1623 |
| 1624 // Verify we still have the allow setting for origin1. |
| 1625 ContentSettingsForOneType host_settings; |
| 1626 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), |
| 1627 &host_settings); |
| 1628 ASSERT_EQ(2u, host_settings.size()); |
| 1629 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
| 1630 host_settings[0].primary_pattern) |
| 1631 << host_settings[0].primary_pattern.ToString(); |
| 1632 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting); |
| 1633 // And the wildcard. |
| 1634 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1635 host_settings[1].primary_pattern) |
| 1636 << host_settings[1].primary_pattern.ToString(); |
| 1637 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting); |
| 1638 |
| 1639 // There should also only be one setting for origin3 |
| 1640 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| 1641 &host_settings); |
| 1642 ASSERT_EQ(2u, host_settings.size()); |
| 1643 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3), |
| 1644 host_settings[0].primary_pattern) |
| 1645 << host_settings[0].primary_pattern.ToString(); |
| 1646 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting); |
| 1647 // And the wildcard. |
| 1648 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1649 host_settings[1].primary_pattern) |
| 1650 << host_settings[1].primary_pattern.ToString(); |
| 1651 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting); |
| 1652 |
| 1653 BlockUntilOriginDataRemoved( |
| 1654 base::Time(), base::Time::Max(), |
| 1655 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS, |
| 1656 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1657 |
| 1658 // Everything except the wildcard should be deleted now. |
| 1659 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), |
| 1660 &host_settings); |
| 1661 ASSERT_EQ(1u, host_settings.size()); |
| 1662 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1663 host_settings[0].primary_pattern) |
| 1664 << host_settings[0].primary_pattern.ToString(); |
| 1665 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting); |
| 1666 |
| 1667 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| 1668 &host_settings); |
| 1669 ASSERT_EQ(1u, host_settings.size()); |
| 1670 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1671 host_settings[0].primary_pattern) |
| 1672 << host_settings[0].primary_pattern.ToString(); |
| 1673 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting); |
| 1674 } |
| 1675 |
| 1594 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDurablePermission) { | 1676 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDurablePermission) { |
| 1595 // Add our settings. | 1677 // Add our settings. |
| 1596 HostContentSettingsMap* host_content_settings_map = | 1678 HostContentSettingsMap* host_content_settings_map = |
| 1597 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 1679 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
| 1598 | 1680 |
| 1599 DurableStoragePermissionContext durable_permission(GetProfile()); | 1681 DurableStoragePermissionContext durable_permission(GetProfile()); |
| 1600 durable_permission.UpdateContentSetting(kOrigin1, GURL(), | 1682 durable_permission.UpdateContentSetting(kOrigin1, GURL(), |
| 1601 CONTENT_SETTING_ALLOW); | 1683 CONTENT_SETTING_ALLOW); |
| 1602 durable_permission.UpdateContentSetting(kOrigin2, GURL(), | 1684 durable_permission.UpdateContentSetting(kOrigin2, GURL(), |
| 1603 CONTENT_SETTING_ALLOW); | 1685 CONTENT_SETTING_ALLOW); |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2013 EXPECT_FALSE(Match(kOrigin1, kProtected, nullptr)); | 2095 EXPECT_FALSE(Match(kOrigin1, kProtected, nullptr)); |
| 2014 EXPECT_FALSE(Match(kOriginExt, kProtected, nullptr)); | 2096 EXPECT_FALSE(Match(kOriginExt, kProtected, nullptr)); |
| 2015 EXPECT_FALSE(Match(kOriginDevTools, kProtected, nullptr)); | 2097 EXPECT_FALSE(Match(kOriginDevTools, kProtected, nullptr)); |
| 2016 | 2098 |
| 2017 #if BUILDFLAG(ENABLE_EXTENSIONS) | 2099 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 2018 EXPECT_FALSE(Match(kOrigin1, kExtension, nullptr)); | 2100 EXPECT_FALSE(Match(kOrigin1, kExtension, nullptr)); |
| 2019 EXPECT_TRUE(Match(kOriginExt, kExtension, nullptr)); | 2101 EXPECT_TRUE(Match(kOriginExt, kExtension, nullptr)); |
| 2020 EXPECT_FALSE(Match(kOriginDevTools, kExtension, nullptr)); | 2102 EXPECT_FALSE(Match(kOriginDevTools, kExtension, nullptr)); |
| 2021 #endif | 2103 #endif |
| 2022 } | 2104 } |
| OLD | NEW |