| 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/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "components/autofill/core/browser/credit_card.h" | 36 #include "components/autofill/core/browser/credit_card.h" |
| 37 #include "components/autofill/core/browser/personal_data_manager.h" | 37 #include "components/autofill/core/browser/personal_data_manager.h" |
| 38 #include "components/autofill/core/browser/personal_data_manager_observer.h" | 38 #include "components/autofill/core/browser/personal_data_manager_observer.h" |
| 39 #include "components/autofill/core/common/autofill_constants.h" | 39 #include "components/autofill/core/common/autofill_constants.h" |
| 40 #include "components/bookmarks/browser/bookmark_model.h" | 40 #include "components/bookmarks/browser/bookmark_model.h" |
| 41 #include "components/bookmarks/test/bookmark_test_helpers.h" | 41 #include "components/bookmarks/test/bookmark_test_helpers.h" |
| 42 #include "components/browsing_data/core/browsing_data_utils.h" | 42 #include "components/browsing_data/core/browsing_data_utils.h" |
| 43 #include "components/content_settings/core/browser/host_content_settings_map.h" | 43 #include "components/content_settings/core/browser/host_content_settings_map.h" |
| 44 #include "components/content_settings/core/common/content_settings.h" | 44 #include "components/content_settings/core/common/content_settings.h" |
| 45 #include "components/content_settings/core/common/content_settings_pattern.h" | 45 #include "components/content_settings/core/common/content_settings_pattern.h" |
| 46 #include "components/content_settings/core/common/content_settings_utils.h" |
| 46 #include "components/domain_reliability/clear_mode.h" | 47 #include "components/domain_reliability/clear_mode.h" |
| 47 #include "components/domain_reliability/monitor.h" | 48 #include "components/domain_reliability/monitor.h" |
| 48 #include "components/domain_reliability/service.h" | 49 #include "components/domain_reliability/service.h" |
| 49 #include "components/favicon/core/favicon_service.h" | 50 #include "components/favicon/core/favicon_service.h" |
| 50 #include "components/history/core/browser/history_service.h" | 51 #include "components/history/core/browser/history_service.h" |
| 51 #include "components/ntp_snippets/bookmarks/bookmark_last_visit_utils.h" | 52 #include "components/ntp_snippets/bookmarks/bookmark_last_visit_utils.h" |
| 52 #include "components/omnibox/browser/omnibox_pref_names.h" | 53 #include "components/omnibox/browser/omnibox_pref_names.h" |
| 53 #include "components/os_crypt/os_crypt_mocker.h" | 54 #include "components/os_crypt/os_crypt_mocker.h" |
| 54 #include "components/password_manager/core/browser/mock_password_store.h" | 55 #include "components/password_manager/core/browser/mock_password_store.h" |
| 55 #include "components/password_manager/core/browser/password_manager_test_utils.h
" | 56 #include "components/password_manager/core/browser/password_manager_test_utils.h
" |
| (...skipping 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1690 GetOriginTypeMask()); | 1691 GetOriginTypeMask()); |
| 1691 | 1692 |
| 1692 // Verify we still have the allow setting for origin1. | 1693 // Verify we still have the allow setting for origin1. |
| 1693 ContentSettingsForOneType host_settings; | 1694 ContentSettingsForOneType host_settings; |
| 1694 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), | 1695 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), |
| 1695 &host_settings); | 1696 &host_settings); |
| 1696 ASSERT_EQ(2u, host_settings.size()); | 1697 ASSERT_EQ(2u, host_settings.size()); |
| 1697 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1698 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
| 1698 host_settings[0].primary_pattern) | 1699 host_settings[0].primary_pattern) |
| 1699 << host_settings[0].primary_pattern.ToString(); | 1700 << host_settings[0].primary_pattern.ToString(); |
| 1700 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting); | 1701 EXPECT_EQ(CONTENT_SETTING_ALLOW, content_settings::ValueToContentSetting( |
| 1702 host_settings[0].setting_value.get())); |
| 1701 // And the wildcard. | 1703 // And the wildcard. |
| 1702 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1704 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1703 host_settings[1].primary_pattern) | 1705 host_settings[1].primary_pattern) |
| 1704 << host_settings[1].primary_pattern.ToString(); | 1706 << host_settings[1].primary_pattern.ToString(); |
| 1705 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting); | 1707 EXPECT_EQ(CONTENT_SETTING_ASK, content_settings::ValueToContentSetting( |
| 1708 host_settings[1].setting_value.get())); |
| 1706 | 1709 |
| 1707 // There should also only be one setting for origin3 | 1710 // There should also only be one setting for origin3 |
| 1708 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 1711 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| 1709 &host_settings); | 1712 &host_settings); |
| 1710 ASSERT_EQ(2u, host_settings.size()); | 1713 ASSERT_EQ(2u, host_settings.size()); |
| 1711 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3), | 1714 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3), |
| 1712 host_settings[0].primary_pattern) | 1715 host_settings[0].primary_pattern) |
| 1713 << host_settings[0].primary_pattern.ToString(); | 1716 << host_settings[0].primary_pattern.ToString(); |
| 1714 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting); | 1717 EXPECT_EQ(CONTENT_SETTING_ALLOW, content_settings::ValueToContentSetting( |
| 1718 host_settings[0].setting_value.get())); |
| 1715 // And the wildcard. | 1719 // And the wildcard. |
| 1716 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1720 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1717 host_settings[1].primary_pattern) | 1721 host_settings[1].primary_pattern) |
| 1718 << host_settings[1].primary_pattern.ToString(); | 1722 << host_settings[1].primary_pattern.ToString(); |
| 1719 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting); | 1723 EXPECT_EQ(CONTENT_SETTING_ASK, content_settings::ValueToContentSetting( |
| 1724 host_settings[1].setting_value.get())); |
| 1720 | 1725 |
| 1721 BlockUntilOriginDataRemoved( | 1726 BlockUntilOriginDataRemoved( |
| 1722 base::Time(), base::Time::Max(), | 1727 base::Time(), base::Time::Max(), |
| 1723 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS, | 1728 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS, |
| 1724 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1729 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1725 | 1730 |
| 1726 // Everything except the wildcard should be deleted now. | 1731 // Everything except the wildcard should be deleted now. |
| 1727 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), | 1732 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), |
| 1728 &host_settings); | 1733 &host_settings); |
| 1729 ASSERT_EQ(1u, host_settings.size()); | 1734 ASSERT_EQ(1u, host_settings.size()); |
| 1730 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1735 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1731 host_settings[0].primary_pattern) | 1736 host_settings[0].primary_pattern) |
| 1732 << host_settings[0].primary_pattern.ToString(); | 1737 << host_settings[0].primary_pattern.ToString(); |
| 1733 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting); | 1738 EXPECT_EQ(CONTENT_SETTING_ASK, content_settings::ValueToContentSetting( |
| 1739 host_settings[0].setting_value.get())); |
| 1734 | 1740 |
| 1735 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 1741 map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| 1736 &host_settings); | 1742 &host_settings); |
| 1737 ASSERT_EQ(1u, host_settings.size()); | 1743 ASSERT_EQ(1u, host_settings.size()); |
| 1738 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1744 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1739 host_settings[0].primary_pattern) | 1745 host_settings[0].primary_pattern) |
| 1740 << host_settings[0].primary_pattern.ToString(); | 1746 << host_settings[0].primary_pattern.ToString(); |
| 1741 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting); | 1747 EXPECT_EQ(CONTENT_SETTING_ASK, content_settings::ValueToContentSetting( |
| 1748 host_settings[0].setting_value.get())); |
| 1742 } | 1749 } |
| 1743 | 1750 |
| 1744 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDurablePermission) { | 1751 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDurablePermission) { |
| 1745 // Add our settings. | 1752 // Add our settings. |
| 1746 HostContentSettingsMap* host_content_settings_map = | 1753 HostContentSettingsMap* host_content_settings_map = |
| 1747 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 1754 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
| 1748 | 1755 |
| 1749 DurableStoragePermissionContext durable_permission(GetProfile()); | 1756 DurableStoragePermissionContext durable_permission(GetProfile()); |
| 1750 durable_permission.UpdateContentSetting(kOrigin1, GURL(), | 1757 durable_permission.UpdateContentSetting(kOrigin1, GURL(), |
| 1751 CONTENT_SETTING_ALLOW); | 1758 CONTENT_SETTING_ALLOW); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1770 // Verify we only have allow for the first origin. | 1777 // Verify we only have allow for the first origin. |
| 1771 ContentSettingsForOneType host_settings; | 1778 ContentSettingsForOneType host_settings; |
| 1772 host_content_settings_map->GetSettingsForOneType( | 1779 host_content_settings_map->GetSettingsForOneType( |
| 1773 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); | 1780 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); |
| 1774 | 1781 |
| 1775 ASSERT_EQ(2u, host_settings.size()); | 1782 ASSERT_EQ(2u, host_settings.size()); |
| 1776 // Only the first should should have a setting. | 1783 // Only the first should should have a setting. |
| 1777 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1784 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
| 1778 host_settings[0].primary_pattern) | 1785 host_settings[0].primary_pattern) |
| 1779 << host_settings[0].primary_pattern.ToString(); | 1786 << host_settings[0].primary_pattern.ToString(); |
| 1780 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting); | 1787 EXPECT_EQ(CONTENT_SETTING_ALLOW, content_settings::ValueToContentSetting( |
| 1788 host_settings[0].setting_value.get())); |
| 1781 | 1789 |
| 1782 // And our wildcard. | 1790 // And our wildcard. |
| 1783 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1791 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
| 1784 host_settings[1].primary_pattern) | 1792 host_settings[1].primary_pattern) |
| 1785 << host_settings[1].primary_pattern.ToString(); | 1793 << host_settings[1].primary_pattern.ToString(); |
| 1786 EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting); | 1794 EXPECT_EQ(CONTENT_SETTING_ASK, content_settings::ValueToContentSetting( |
| 1795 host_settings[1].setting_value.get())); |
| 1787 } | 1796 } |
| 1788 | 1797 |
| 1789 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1798 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1790 DurablePermissionIsPartOfEmbedderDOMStorage) { | 1799 DurablePermissionIsPartOfEmbedderDOMStorage) { |
| 1791 HostContentSettingsMap* host_content_settings_map = | 1800 HostContentSettingsMap* host_content_settings_map = |
| 1792 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 1801 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
| 1793 DurableStoragePermissionContext durable_permission(GetProfile()); | 1802 DurableStoragePermissionContext durable_permission(GetProfile()); |
| 1794 durable_permission.UpdateContentSetting(kOrigin1, GURL(), | 1803 durable_permission.UpdateContentSetting(kOrigin1, GURL(), |
| 1795 CONTENT_SETTING_ALLOW); | 1804 CONTENT_SETTING_ALLOW); |
| 1796 ContentSettingsForOneType host_settings; | 1805 ContentSettingsForOneType host_settings; |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2316 base::Callback<bool(const GURL&)> origin_filter; | 2325 base::Callback<bool(const GURL&)> origin_filter; |
| 2317 tester.GetMockInfo(&remove_count, &data_type_mask, &origin_filter); | 2326 tester.GetMockInfo(&remove_count, &data_type_mask, &origin_filter); |
| 2318 | 2327 |
| 2319 EXPECT_EQ(1, remove_count); | 2328 EXPECT_EQ(1, remove_count); |
| 2320 EXPECT_EQ(net::ReportingBrowsingDataRemover::DATA_TYPE_REPORTS | | 2329 EXPECT_EQ(net::ReportingBrowsingDataRemover::DATA_TYPE_REPORTS | |
| 2321 net::ReportingBrowsingDataRemover::DATA_TYPE_CLIENTS, | 2330 net::ReportingBrowsingDataRemover::DATA_TYPE_CLIENTS, |
| 2322 data_type_mask); | 2331 data_type_mask); |
| 2323 EXPECT_TRUE( | 2332 EXPECT_TRUE( |
| 2324 ProbablySameFilters(builder->BuildGeneralFilter(), origin_filter)); | 2333 ProbablySameFilters(builder->BuildGeneralFilter(), origin_filter)); |
| 2325 } | 2334 } |
| OLD | NEW |