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/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
11 #include "base/test/scoped_feature_list.h" | 11 #include "base/test/scoped_feature_list.h" |
12 #include "base/time/time.h" | 12 #include "base/time/time.h" |
13 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 13 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
14 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 14 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
15 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 15 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
16 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 16 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_fac
tory.h" |
17 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" | |
18 #include "chrome/browser/browsing_data/browsing_data_remover_impl.h" | |
19 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" | |
20 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" | |
21 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 17 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
22 #include "chrome/browser/domain_reliability/service_factory.h" | 18 #include "chrome/browser/domain_reliability/service_factory.h" |
23 #include "chrome/browser/download/chrome_download_manager_delegate.h" | 19 #include "chrome/browser/download/chrome_download_manager_delegate.h" |
24 #include "chrome/browser/favicon/favicon_service_factory.h" | 20 #include "chrome/browser/favicon/favicon_service_factory.h" |
25 #include "chrome/browser/history/history_service_factory.h" | 21 #include "chrome/browser/history/history_service_factory.h" |
26 #include "chrome/browser/password_manager/password_store_factory.h" | 22 #include "chrome/browser/password_manager/password_store_factory.h" |
27 #include "chrome/browser/permissions/permission_decision_auto_blocker.h" | 23 #include "chrome/browser/permissions/permission_decision_auto_blocker.h" |
28 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 24 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
29 #include "chrome/browser/storage/durable_storage_permission_context.h" | 25 #include "chrome/browser/storage/durable_storage_permission_context.h" |
30 #include "chrome/browser/translate/language_model_factory.h" | 26 #include "chrome/browser/translate/language_model_factory.h" |
(...skipping 20 matching lines...) Expand all Loading... |
51 #include "components/history/core/browser/history_service.h" | 47 #include "components/history/core/browser/history_service.h" |
52 #include "components/ntp_snippets/bookmarks/bookmark_last_visit_utils.h" | 48 #include "components/ntp_snippets/bookmarks/bookmark_last_visit_utils.h" |
53 #include "components/omnibox/browser/omnibox_pref_names.h" | 49 #include "components/omnibox/browser/omnibox_pref_names.h" |
54 #include "components/os_crypt/os_crypt_mocker.h" | 50 #include "components/os_crypt/os_crypt_mocker.h" |
55 #include "components/password_manager/core/browser/mock_password_store.h" | 51 #include "components/password_manager/core/browser/mock_password_store.h" |
56 #include "components/password_manager/core/browser/password_manager_test_utils.h
" | 52 #include "components/password_manager/core/browser/password_manager_test_utils.h
" |
57 #include "components/password_manager/core/browser/password_store_consumer.h" | 53 #include "components/password_manager/core/browser/password_store_consumer.h" |
58 #include "components/prefs/testing_pref_service.h" | 54 #include "components/prefs/testing_pref_service.h" |
59 #include "components/translate/core/browser/language_model.h" | 55 #include "components/translate/core/browser/language_model.h" |
60 #include "content/public/browser/browsing_data_filter_builder.h" | 56 #include "content/public/browser/browsing_data_filter_builder.h" |
| 57 #include "content/public/browser/browsing_data_remover.h" |
| 58 #include "content/public/test/browsing_data_remover_test_util.h" |
61 #include "content/public/test/mock_download_manager.h" | 59 #include "content/public/test/mock_download_manager.h" |
62 #include "content/public/test/test_browser_thread_bundle.h" | 60 #include "content/public/test/test_browser_thread_bundle.h" |
63 #include "content/public/test/test_utils.h" | 61 #include "content/public/test/test_utils.h" |
64 #include "net/cookies/cookie_store.h" | 62 #include "net/cookies/cookie_store.h" |
65 #include "net/http/http_transaction_factory.h" | 63 #include "net/http/http_transaction_factory.h" |
66 #include "net/url_request/url_request_context.h" | 64 #include "net/url_request/url_request_context.h" |
67 #include "net/url_request/url_request_context_getter.h" | 65 #include "net/url_request/url_request_context_getter.h" |
68 #include "third_party/skia/include/core/SkBitmap.h" | 66 #include "third_party/skia/include/core/SkBitmap.h" |
69 #include "ui/gfx/favicon_size.h" | 67 #include "ui/gfx/favicon_size.h" |
70 | 68 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 const GURL kOrigin3(kTestOrigin3); | 132 const GURL kOrigin3(kTestOrigin3); |
135 const GURL kOrigin4(kTestOrigin4); | 133 const GURL kOrigin4(kTestOrigin4); |
136 | 134 |
137 const GURL kOriginExt(kTestOriginExt); | 135 const GURL kOriginExt(kTestOriginExt); |
138 const GURL kOriginDevTools(kTestOriginDevTools); | 136 const GURL kOriginDevTools(kTestOriginDevTools); |
139 | 137 |
140 // Shorthands for origin types. | 138 // Shorthands for origin types. |
141 #if BUILDFLAG(ENABLE_EXTENSIONS) | 139 #if BUILDFLAG(ENABLE_EXTENSIONS) |
142 const int kExtension = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION; | 140 const int kExtension = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION; |
143 #endif | 141 #endif |
144 const int kProtected = BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; | 142 const int kProtected = content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; |
145 const int kUnprotected = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; | 143 const int kUnprotected = |
| 144 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; |
146 | 145 |
147 // Testers -------------------------------------------------------------------- | 146 // Testers -------------------------------------------------------------------- |
148 | 147 |
149 #if defined(OS_ANDROID) | 148 #if defined(OS_ANDROID) |
150 class TestWebappRegistry : public WebappRegistry { | 149 class TestWebappRegistry : public WebappRegistry { |
151 public: | 150 public: |
152 TestWebappRegistry() : WebappRegistry() { } | 151 TestWebappRegistry() : WebappRegistry() { } |
153 | 152 |
154 void UnregisterWebappsForUrls( | 153 void UnregisterWebappsForUrls( |
155 const base::Callback<bool(const GURL&)>& url_filter) override { | 154 const base::Callback<bool(const GURL&)>& url_filter) override { |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
624 ~TestBrowsingDataFlashLSOHelper() override {} | 623 ~TestBrowsingDataFlashLSOHelper() override {} |
625 | 624 |
626 DISALLOW_COPY_AND_ASSIGN(TestBrowsingDataFlashLSOHelper); | 625 DISALLOW_COPY_AND_ASSIGN(TestBrowsingDataFlashLSOHelper); |
627 }; | 626 }; |
628 | 627 |
629 class RemovePluginDataTester { | 628 class RemovePluginDataTester { |
630 public: | 629 public: |
631 explicit RemovePluginDataTester(TestingProfile* profile) | 630 explicit RemovePluginDataTester(TestingProfile* profile) |
632 : helper_(new TestBrowsingDataFlashLSOHelper(profile)) { | 631 : helper_(new TestBrowsingDataFlashLSOHelper(profile)) { |
633 static_cast<ChromeBrowsingDataRemoverDelegate*>( | 632 static_cast<ChromeBrowsingDataRemoverDelegate*>( |
634 BrowsingDataRemoverFactory::GetForBrowserContext(profile) | 633 profile->GetBrowsingDataRemoverDelegate()) |
635 ->GetEmbedderDelegate())->OverrideFlashLSOHelperForTesting(helper_); | 634 ->OverrideFlashLSOHelperForTesting(helper_); |
636 } | 635 } |
637 | 636 |
638 void AddDomain(const std::string& domain) { | 637 void AddDomain(const std::string& domain) { |
639 helper_->AddFlashLSODomain(domain); | 638 helper_->AddFlashLSODomain(domain); |
640 } | 639 } |
641 | 640 |
642 const std::vector<std::string>& GetDomains() { | 641 const std::vector<std::string>& GetDomains() { |
643 // TestBrowsingDataFlashLSOHelper is synchronous, so we can immediately | 642 // TestBrowsingDataFlashLSOHelper is synchronous, so we can immediately |
644 // return the fetched domains. | 643 // return the fetched domains. |
645 helper_->StartFetching( | 644 helper_->StartFetching( |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 | 743 |
745 content::MockDownloadManager* download_manager() { return download_manager_; } | 744 content::MockDownloadManager* download_manager() { return download_manager_; } |
746 | 745 |
747 private: | 746 private: |
748 content::MockDownloadManager* download_manager_; | 747 content::MockDownloadManager* download_manager_; |
749 ChromeDownloadManagerDelegate chrome_download_manager_delegate_; | 748 ChromeDownloadManagerDelegate chrome_download_manager_delegate_; |
750 | 749 |
751 DISALLOW_COPY_AND_ASSIGN(RemoveDownloadsTester); | 750 DISALLOW_COPY_AND_ASSIGN(RemoveDownloadsTester); |
752 }; | 751 }; |
753 | 752 |
| 753 // TestingProfile does not contain ChromeBrowsingDataRemoverDelegate. Add it |
| 754 // for the purpose of this test. |
| 755 class TestingProfileWithDelegate : public TestingProfile { |
| 756 public: |
| 757 TestingProfileWithDelegate() : delegate_(this) {} |
| 758 |
| 759 content::BrowsingDataRemoverDelegate* GetBrowsingDataRemoverDelegate() |
| 760 override { |
| 761 return &delegate_; |
| 762 } |
| 763 |
| 764 private: |
| 765 ChromeBrowsingDataRemoverDelegate delegate_; |
| 766 }; |
| 767 |
754 } // namespace | 768 } // namespace |
755 | 769 |
756 // RemoveAutofillTester is not a part of the anonymous namespace above, as | 770 // RemoveAutofillTester is not a part of the anonymous namespace above, as |
757 // PersonalDataManager declares it a friend in an empty namespace. | 771 // PersonalDataManager declares it a friend in an empty namespace. |
758 class RemoveAutofillTester : public autofill::PersonalDataManagerObserver { | 772 class RemoveAutofillTester : public autofill::PersonalDataManagerObserver { |
759 public: | 773 public: |
760 explicit RemoveAutofillTester(TestingProfile* profile) | 774 explicit RemoveAutofillTester(TestingProfile* profile) |
761 : personal_data_manager_( | 775 : personal_data_manager_( |
762 autofill::PersonalDataManagerFactory::GetForProfile(profile)) { | 776 autofill::PersonalDataManagerFactory::GetForProfile(profile)) { |
763 autofill::test::DisableSystemServices(profile->GetPrefs()); | 777 autofill::test::DisableSystemServices(profile->GetPrefs()); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 | 852 |
839 autofill::PersonalDataManager* personal_data_manager_; | 853 autofill::PersonalDataManager* personal_data_manager_; |
840 DISALLOW_COPY_AND_ASSIGN(RemoveAutofillTester); | 854 DISALLOW_COPY_AND_ASSIGN(RemoveAutofillTester); |
841 }; | 855 }; |
842 | 856 |
843 // Test Class ----------------------------------------------------------------- | 857 // Test Class ----------------------------------------------------------------- |
844 | 858 |
845 class ChromeBrowsingDataRemoverDelegateTest : public testing::Test { | 859 class ChromeBrowsingDataRemoverDelegateTest : public testing::Test { |
846 public: | 860 public: |
847 ChromeBrowsingDataRemoverDelegateTest() | 861 ChromeBrowsingDataRemoverDelegateTest() |
848 : profile_(new TestingProfile()), | 862 : profile_(new TestingProfileWithDelegate()), |
849 clear_domain_reliability_tester_(profile_.get()) { | 863 clear_domain_reliability_tester_(profile_.get()) { |
850 remover_ = BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); | 864 remover_ = content::BrowserContext::GetBrowsingDataRemover(profile_.get()); |
851 | 865 |
852 #if defined(OS_ANDROID) | 866 #if defined(OS_ANDROID) |
853 static_cast<ChromeBrowsingDataRemoverDelegate*>( | 867 static_cast<ChromeBrowsingDataRemoverDelegate*>( |
854 remover_->GetEmbedderDelegate())->OverrideWebappRegistryForTesting( | 868 profile_->GetBrowsingDataRemoverDelegate()) |
| 869 ->OverrideWebappRegistryForTesting( |
855 base::WrapUnique<WebappRegistry>(new TestWebappRegistry())); | 870 base::WrapUnique<WebappRegistry>(new TestWebappRegistry())); |
856 #endif | 871 #endif |
857 } | 872 } |
858 | 873 |
859 void TearDown() override { | 874 void TearDown() override { |
860 // TestingProfile contains a DOMStorageContext. BrowserContext's destructor | 875 // TestingProfile contains a DOMStorageContext. BrowserContext's destructor |
861 // posts a message to the WEBKIT thread to delete some of its member | 876 // posts a message to the WEBKIT thread to delete some of its member |
862 // variables. We need to ensure that the profile is destroyed, and that | 877 // variables. We need to ensure that the profile is destroyed, and that |
863 // the message loop is cleared out, before destroying the threads and loop. | 878 // the message loop is cleared out, before destroying the threads and loop. |
864 // Otherwise we leak memory. | 879 // Otherwise we leak memory. |
865 profile_.reset(); | 880 profile_.reset(); |
866 base::RunLoop().RunUntilIdle(); | 881 base::RunLoop().RunUntilIdle(); |
867 | 882 |
868 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); | 883 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); |
869 } | 884 } |
870 | 885 |
871 ~ChromeBrowsingDataRemoverDelegateTest() override {} | 886 ~ChromeBrowsingDataRemoverDelegateTest() override {} |
872 | 887 |
873 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, | 888 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, |
874 const base::Time& delete_end, | 889 const base::Time& delete_end, |
875 int remove_mask, | 890 int remove_mask, |
876 bool include_protected_origins) { | 891 bool include_protected_origins) { |
877 int origin_type_mask = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; | 892 int origin_type_mask = |
| 893 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; |
878 if (include_protected_origins) { | 894 if (include_protected_origins) { |
879 origin_type_mask |= BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; | 895 origin_type_mask |= |
| 896 content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; |
880 } | 897 } |
881 | 898 |
882 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 899 content::BrowsingDataRemoverCompletionObserver completion_observer( |
| 900 remover_); |
883 remover_->RemoveAndReply( | 901 remover_->RemoveAndReply( |
884 delete_begin, delete_end, remove_mask, origin_type_mask, | 902 delete_begin, delete_end, remove_mask, origin_type_mask, |
885 &completion_observer); | 903 &completion_observer); |
886 completion_observer.BlockUntilCompletion(); | 904 completion_observer.BlockUntilCompletion(); |
887 } | 905 } |
888 | 906 |
889 void BlockUntilOriginDataRemoved( | 907 void BlockUntilOriginDataRemoved( |
890 const base::Time& delete_begin, | 908 const base::Time& delete_begin, |
891 const base::Time& delete_end, | 909 const base::Time& delete_end, |
892 int remove_mask, | 910 int remove_mask, |
893 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { | 911 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { |
894 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 912 content::BrowsingDataRemoverCompletionObserver completion_observer( |
895 static_cast<BrowsingDataRemoverImpl*>(remover_)->RemoveWithFilterAndReply( | 913 remover_); |
| 914 remover_->RemoveWithFilterAndReply( |
896 delete_begin, delete_end, remove_mask, | 915 delete_begin, delete_end, remove_mask, |
897 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 916 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
898 std::move(filter_builder), &completion_observer); | 917 std::move(filter_builder), &completion_observer); |
899 completion_observer.BlockUntilCompletion(); | 918 completion_observer.BlockUntilCompletion(); |
900 } | 919 } |
901 | 920 |
902 const base::Time& GetBeginTime() { | 921 const base::Time& GetBeginTime() { |
903 return remover_->GetLastUsedBeginTime(); | 922 return remover_->GetLastUsedBeginTime(); |
904 } | 923 } |
905 | 924 |
906 int GetRemovalMask() { | 925 int GetRemovalMask() { |
907 return remover_->GetLastUsedRemovalMask(); | 926 return remover_->GetLastUsedRemovalMask(); |
(...skipping 11 matching lines...) Expand all Loading... |
919 return clear_domain_reliability_tester_; | 938 return clear_domain_reliability_tester_; |
920 } | 939 } |
921 | 940 |
922 bool Match(const GURL& origin, | 941 bool Match(const GURL& origin, |
923 int mask, | 942 int mask, |
924 storage::SpecialStoragePolicy* policy) { | 943 storage::SpecialStoragePolicy* policy) { |
925 return remover_->DoesOriginMatchMask(mask, origin, policy); | 944 return remover_->DoesOriginMatchMask(mask, origin, policy); |
926 } | 945 } |
927 | 946 |
928 private: | 947 private: |
929 // Cached pointer to BrowsingDataRemoverImpl for access to testing methods. | 948 // Cached pointer to BrowsingDataRemover for access to testing methods. |
930 BrowsingDataRemover* remover_; | 949 content::BrowsingDataRemover* remover_; |
931 | 950 |
932 content::TestBrowserThreadBundle thread_bundle_; | 951 content::TestBrowserThreadBundle thread_bundle_; |
933 std::unique_ptr<TestingProfile> profile_; | 952 std::unique_ptr<TestingProfile> profile_; |
934 | 953 |
935 // Needed to mock out DomainReliabilityService, even for unrelated tests. | 954 // Needed to mock out DomainReliabilityService, even for unrelated tests. |
936 ClearDomainReliabilityTester clear_domain_reliability_tester_; | 955 ClearDomainReliabilityTester clear_domain_reliability_tester_; |
937 | 956 |
938 DISALLOW_COPY_AND_ASSIGN(ChromeBrowsingDataRemoverDelegateTest); | 957 DISALLOW_COPY_AND_ASSIGN(ChromeBrowsingDataRemoverDelegateTest); |
939 }; | 958 }; |
940 | 959 |
941 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveSafeBrowsingCookieForever) { | 960 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveSafeBrowsingCookieForever) { |
942 RemoveSafeBrowsingCookieTester tester; | 961 RemoveSafeBrowsingCookieTester tester; |
943 | 962 |
944 tester.AddCookie(); | 963 tester.AddCookie(); |
945 ASSERT_TRUE(tester.ContainsCookie()); | 964 ASSERT_TRUE(tester.ContainsCookie()); |
946 | 965 |
947 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 966 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
948 BrowsingDataRemover::DATA_TYPE_COOKIES, false); | 967 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 968 false); |
949 | 969 |
950 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); | 970 EXPECT_EQ(content::BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
951 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 971 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
952 GetOriginTypeMask()); | 972 GetOriginTypeMask()); |
953 EXPECT_FALSE(tester.ContainsCookie()); | 973 EXPECT_FALSE(tester.ContainsCookie()); |
954 } | 974 } |
955 | 975 |
956 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 976 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
957 RemoveSafeBrowsingCookieLastHour) { | 977 RemoveSafeBrowsingCookieLastHour) { |
958 RemoveSafeBrowsingCookieTester tester; | 978 RemoveSafeBrowsingCookieTester tester; |
959 | 979 |
960 tester.AddCookie(); | 980 tester.AddCookie(); |
961 ASSERT_TRUE(tester.ContainsCookie()); | 981 ASSERT_TRUE(tester.ContainsCookie()); |
962 | 982 |
963 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 983 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
964 BrowsingDataRemover::DATA_TYPE_COOKIES, false); | 984 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 985 false); |
965 | 986 |
966 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); | 987 EXPECT_EQ(content::BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
967 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 988 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
968 GetOriginTypeMask()); | 989 GetOriginTypeMask()); |
969 // Removing with time period other than all time should not clear safe | 990 // Removing with time period other than all time should not clear safe |
970 // browsing cookies. | 991 // browsing cookies. |
971 EXPECT_TRUE(tester.ContainsCookie()); | 992 EXPECT_TRUE(tester.ContainsCookie()); |
972 } | 993 } |
973 | 994 |
974 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 995 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
975 RemoveSafeBrowsingCookieForeverWithPredicate) { | 996 RemoveSafeBrowsingCookieForeverWithPredicate) { |
976 RemoveSafeBrowsingCookieTester tester; | 997 RemoveSafeBrowsingCookieTester tester; |
977 | 998 |
978 tester.AddCookie(); | 999 tester.AddCookie(); |
979 ASSERT_TRUE(tester.ContainsCookie()); | 1000 ASSERT_TRUE(tester.ContainsCookie()); |
980 std::unique_ptr<BrowsingDataFilterBuilder> filter( | 1001 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
981 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1002 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
982 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 1003 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
983 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1004 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
984 BrowsingDataRemover::DATA_TYPE_COOKIES, | 1005 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
985 std::move(filter)); | 1006 std::move(filter)); |
986 | 1007 |
987 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); | 1008 EXPECT_EQ(content::BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
988 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1009 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
989 GetOriginTypeMask()); | 1010 GetOriginTypeMask()); |
990 EXPECT_TRUE(tester.ContainsCookie()); | 1011 EXPECT_TRUE(tester.ContainsCookie()); |
991 | 1012 |
992 std::unique_ptr<BrowsingDataFilterBuilder> filter2( | 1013 std::unique_ptr<BrowsingDataFilterBuilder> filter2( |
993 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1014 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
994 filter2->AddRegisterableDomain(kTestRegisterableDomain1); | 1015 filter2->AddRegisterableDomain(kTestRegisterableDomain1); |
995 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1016 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
996 BrowsingDataRemover::DATA_TYPE_COOKIES, | 1017 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
997 std::move(filter2)); | 1018 std::move(filter2)); |
998 EXPECT_FALSE(tester.ContainsCookie()); | 1019 EXPECT_FALSE(tester.ContainsCookie()); |
999 } | 1020 } |
1000 | 1021 |
1001 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) { | 1022 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) { |
1002 RemoveHistoryTester tester; | 1023 RemoveHistoryTester tester; |
1003 ASSERT_TRUE(tester.Init(GetProfile())); | 1024 ASSERT_TRUE(tester.Init(GetProfile())); |
1004 | 1025 |
1005 tester.AddHistory(kOrigin1, base::Time::Now()); | 1026 tester.AddHistory(kOrigin1, base::Time::Now()); |
1006 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1027 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1007 | 1028 |
1008 BlockUntilBrowsingDataRemoved( | 1029 BlockUntilBrowsingDataRemoved( |
1009 base::Time(), base::Time::Max(), | 1030 base::Time(), base::Time::Max(), |
1010 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); | 1031 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
1011 | 1032 |
1012 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1033 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1013 GetRemovalMask()); | 1034 GetRemovalMask()); |
1014 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1035 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1015 GetOriginTypeMask()); | 1036 GetOriginTypeMask()); |
1016 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1037 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
1017 } | 1038 } |
1018 | 1039 |
1019 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForLastHour) { | 1040 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForLastHour) { |
1020 RemoveHistoryTester tester; | 1041 RemoveHistoryTester tester; |
1021 ASSERT_TRUE(tester.Init(GetProfile())); | 1042 ASSERT_TRUE(tester.Init(GetProfile())); |
1022 | 1043 |
1023 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1044 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
1024 | 1045 |
1025 tester.AddHistory(kOrigin1, base::Time::Now()); | 1046 tester.AddHistory(kOrigin1, base::Time::Now()); |
1026 tester.AddHistory(kOrigin2, two_hours_ago); | 1047 tester.AddHistory(kOrigin2, two_hours_ago); |
1027 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1048 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1028 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1049 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1029 | 1050 |
1030 BlockUntilBrowsingDataRemoved( | 1051 BlockUntilBrowsingDataRemoved( |
1031 AnHourAgo(), base::Time::Max(), | 1052 AnHourAgo(), base::Time::Max(), |
1032 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); | 1053 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
1033 | 1054 |
1034 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1055 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1035 GetRemovalMask()); | 1056 GetRemovalMask()); |
1036 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1057 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1037 GetOriginTypeMask()); | 1058 GetOriginTypeMask()); |
1038 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1059 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
1039 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1060 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1040 } | 1061 } |
1041 | 1062 |
1042 // This should crash (DCHECK) in Debug, but death tests don't work properly | 1063 // This should crash (DCHECK) in Debug, but death tests don't work properly |
1043 // here. | 1064 // here. |
1044 // TODO(msramek): To make this testable, the refusal to delete history should | 1065 // TODO(msramek): To make this testable, the refusal to delete history should |
1045 // be made a part of interface (e.g. a success value) as opposed to a DCHECK. | 1066 // be made a part of interface (e.g. a success value) as opposed to a DCHECK. |
1046 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) | 1067 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) |
1047 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryProhibited) { | 1068 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryProhibited) { |
1048 RemoveHistoryTester tester; | 1069 RemoveHistoryTester tester; |
1049 ASSERT_TRUE(tester.Init(GetProfile())); | 1070 ASSERT_TRUE(tester.Init(GetProfile())); |
1050 PrefService* prefs = GetProfile()->GetPrefs(); | 1071 PrefService* prefs = GetProfile()->GetPrefs(); |
1051 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 1072 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
1052 | 1073 |
1053 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1074 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
1054 | 1075 |
1055 tester.AddHistory(kOrigin1, base::Time::Now()); | 1076 tester.AddHistory(kOrigin1, base::Time::Now()); |
1056 tester.AddHistory(kOrigin2, two_hours_ago); | 1077 tester.AddHistory(kOrigin2, two_hours_ago); |
1057 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1078 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1058 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1079 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1059 | 1080 |
1060 BlockUntilBrowsingDataRemoved( | 1081 BlockUntilBrowsingDataRemoved( |
1061 AnHourAgo(), base::Time::Max(), | 1082 AnHourAgo(), base::Time::Max(), |
1062 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); | 1083 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
1063 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1084 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1064 GetRemovalMask()); | 1085 GetRemovalMask()); |
1065 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1086 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1066 GetOriginTypeMask()); | 1087 GetOriginTypeMask()); |
1067 | 1088 |
1068 // Nothing should have been deleted. | 1089 // Nothing should have been deleted. |
1069 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1090 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1070 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1091 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1071 } | 1092 } |
1072 | 1093 |
1073 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1094 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1074 RemoveMultipleTypesHistoryProhibited) { | 1095 RemoveMultipleTypesHistoryProhibited) { |
1075 PrefService* prefs = GetProfile()->GetPrefs(); | 1096 PrefService* prefs = GetProfile()->GetPrefs(); |
1076 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 1097 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
1077 | 1098 |
1078 // Add some history. | 1099 // Add some history. |
1079 RemoveHistoryTester history_tester; | 1100 RemoveHistoryTester history_tester; |
1080 ASSERT_TRUE(history_tester.Init(GetProfile())); | 1101 ASSERT_TRUE(history_tester.Init(GetProfile())); |
1081 history_tester.AddHistory(kOrigin1, base::Time::Now()); | 1102 history_tester.AddHistory(kOrigin1, base::Time::Now()); |
1082 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1103 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
1083 | 1104 |
1084 // Expect that passwords will be deleted, as they do not depend | 1105 // Expect that passwords will be deleted, as they do not depend |
1085 // on |prefs::kAllowDeletingBrowserHistory|. | 1106 // on |prefs::kAllowDeletingBrowserHistory|. |
1086 RemovePasswordsTester tester(GetProfile()); | 1107 RemovePasswordsTester tester(GetProfile()); |
1087 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)); | 1108 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)); |
1088 | 1109 |
1089 int removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 1110 int removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
1090 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS; | 1111 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS; |
1091 | 1112 |
1092 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1113 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
1093 removal_mask, false); | 1114 removal_mask, false); |
1094 EXPECT_EQ(removal_mask, GetRemovalMask()); | 1115 EXPECT_EQ(removal_mask, GetRemovalMask()); |
1095 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1116 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1096 GetOriginTypeMask()); | 1117 GetOriginTypeMask()); |
1097 | 1118 |
1098 // Verify that history was not deleted. | 1119 // Verify that history was not deleted. |
1099 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1120 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
1100 } | 1121 } |
1101 #endif | 1122 #endif |
1102 | 1123 |
1103 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveExternalProtocolData) { | 1124 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveExternalProtocolData) { |
1104 TestingProfile* profile = GetProfile(); | 1125 TestingProfile* profile = GetProfile(); |
1105 // Add external protocol data on profile. | 1126 // Add external protocol data on profile. |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1200 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1180 | 1201 |
1181 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1202 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1182 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1203 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
1183 BlockUntilOriginDataRemoved( | 1204 BlockUntilOriginDataRemoved( |
1184 AnHourAgo(), base::Time::Max(), | 1205 AnHourAgo(), base::Time::Max(), |
1185 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, std::move(builder)); | 1206 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, std::move(builder)); |
1186 | 1207 |
1187 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1208 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1188 GetRemovalMask()); | 1209 GetRemovalMask()); |
1189 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1210 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1190 GetOriginTypeMask()); | 1211 GetOriginTypeMask()); |
1191 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1212 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
1192 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1213 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1193 } | 1214 } |
1194 | 1215 |
1195 // Verify that clearing autofill form data works. | 1216 // Verify that clearing autofill form data works. |
1196 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) { | 1217 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) { |
1197 GetProfile()->CreateWebDataService(); | 1218 GetProfile()->CreateWebDataService(); |
1198 RemoveAutofillTester tester(GetProfile()); | 1219 RemoveAutofillTester tester(GetProfile()); |
1199 | 1220 |
1200 ASSERT_FALSE(tester.HasProfile()); | 1221 ASSERT_FALSE(tester.HasProfile()); |
1201 tester.AddProfilesAndCards(); | 1222 tester.AddProfilesAndCards(); |
1202 ASSERT_TRUE(tester.HasProfile()); | 1223 ASSERT_TRUE(tester.HasProfile()); |
1203 | 1224 |
1204 BlockUntilBrowsingDataRemoved( | 1225 BlockUntilBrowsingDataRemoved( |
1205 AnHourAgo(), base::Time::Max(), | 1226 AnHourAgo(), base::Time::Max(), |
1206 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); | 1227 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); |
1207 | 1228 |
1208 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, | 1229 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, |
1209 GetRemovalMask()); | 1230 GetRemovalMask()); |
1210 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1231 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1211 GetOriginTypeMask()); | 1232 GetOriginTypeMask()); |
1212 ASSERT_FALSE(tester.HasProfile()); | 1233 ASSERT_FALSE(tester.HasProfile()); |
1213 } | 1234 } |
1214 | 1235 |
1215 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalEverything) { | 1236 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalEverything) { |
1216 GetProfile()->CreateWebDataService(); | 1237 GetProfile()->CreateWebDataService(); |
1217 RemoveAutofillTester tester(GetProfile()); | 1238 RemoveAutofillTester tester(GetProfile()); |
1218 | 1239 |
1219 ASSERT_FALSE(tester.HasProfile()); | 1240 ASSERT_FALSE(tester.HasProfile()); |
1220 tester.AddProfilesAndCards(); | 1241 tester.AddProfilesAndCards(); |
1221 ASSERT_TRUE(tester.HasProfile()); | 1242 ASSERT_TRUE(tester.HasProfile()); |
1222 | 1243 |
1223 BlockUntilBrowsingDataRemoved( | 1244 BlockUntilBrowsingDataRemoved( |
1224 base::Time(), base::Time::Max(), | 1245 base::Time(), base::Time::Max(), |
1225 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); | 1246 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); |
1226 | 1247 |
1227 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, | 1248 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, |
1228 GetRemovalMask()); | 1249 GetRemovalMask()); |
1229 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1250 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1230 GetOriginTypeMask()); | 1251 GetOriginTypeMask()); |
1231 ASSERT_FALSE(tester.HasProfile()); | 1252 ASSERT_FALSE(tester.HasProfile()); |
1232 } | 1253 } |
1233 | 1254 |
1234 // Verify that clearing autofill form data works. | 1255 // Verify that clearing autofill form data works. |
1235 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1256 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1236 AutofillOriginsRemovedWithHistory) { | 1257 AutofillOriginsRemovedWithHistory) { |
1237 GetProfile()->CreateWebDataService(); | 1258 GetProfile()->CreateWebDataService(); |
1238 RemoveAutofillTester tester(GetProfile()); | 1259 RemoveAutofillTester tester(GetProfile()); |
1239 | 1260 |
1240 tester.AddProfilesAndCards(); | 1261 tester.AddProfilesAndCards(); |
1241 EXPECT_FALSE(tester.HasOrigin(std::string())); | 1262 EXPECT_FALSE(tester.HasOrigin(std::string())); |
1242 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); | 1263 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); |
1243 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 1264 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
1244 | 1265 |
1245 BlockUntilBrowsingDataRemoved( | 1266 BlockUntilBrowsingDataRemoved( |
1246 AnHourAgo(), base::Time::Max(), | 1267 AnHourAgo(), base::Time::Max(), |
1247 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); | 1268 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
1248 | 1269 |
1249 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1270 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1250 GetRemovalMask()); | 1271 GetRemovalMask()); |
1251 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1272 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1252 GetOriginTypeMask()); | 1273 GetOriginTypeMask()); |
1253 EXPECT_TRUE(tester.HasOrigin(std::string())); | 1274 EXPECT_TRUE(tester.HasOrigin(std::string())); |
1254 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); | 1275 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); |
1255 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 1276 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
1256 } | 1277 } |
1257 | 1278 |
1258 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ZeroSuggestCacheClear) { | 1279 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ZeroSuggestCacheClear) { |
1259 PrefService* prefs = GetProfile()->GetPrefs(); | 1280 PrefService* prefs = GetProfile()->GetPrefs(); |
1260 prefs->SetString(omnibox::kZeroSuggestCachedResults, | 1281 prefs->SetString(omnibox::kZeroSuggestCachedResults, |
1261 "[\"\", [\"foo\", \"bar\"]]"); | 1282 "[\"\", [\"foo\", \"bar\"]]"); |
1262 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1283 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
1263 BrowsingDataRemover::DATA_TYPE_COOKIES, false); | 1284 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1285 false); |
1264 | 1286 |
1265 // Expect the prefs to be cleared when cookies are removed. | 1287 // Expect the prefs to be cleared when cookies are removed. |
1266 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); | 1288 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); |
1267 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); | 1289 EXPECT_EQ(content::BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
1268 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1290 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1269 GetOriginTypeMask()); | 1291 GetOriginTypeMask()); |
1270 } | 1292 } |
1271 | 1293 |
1272 #if defined(OS_CHROMEOS) | 1294 #if defined(OS_CHROMEOS) |
1273 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1295 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1274 ContentProtectionPlatformKeysRemoval) { | 1296 ContentProtectionPlatformKeysRemoval) { |
1275 chromeos::ScopedTestDeviceSettingsService test_device_settings_service; | 1297 chromeos::ScopedTestDeviceSettingsService test_device_settings_service; |
1276 chromeos::ScopedTestCrosSettings test_cros_settings; | 1298 chromeos::ScopedTestCrosSettings test_cros_settings; |
1277 chromeos::MockUserManager* mock_user_manager = | 1299 chromeos::MockUserManager* mock_user_manager = |
1278 new testing::NiceMock<chromeos::MockUserManager>(); | 1300 new testing::NiceMock<chromeos::MockUserManager>(); |
1279 mock_user_manager->SetActiveUser( | 1301 mock_user_manager->SetActiveUser( |
1280 AccountId::FromUserEmail("test@example.com")); | 1302 AccountId::FromUserEmail("test@example.com")); |
1281 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager); | 1303 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager); |
1282 | 1304 |
1283 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = | 1305 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = |
1284 chromeos::DBusThreadManager::GetSetterForTesting(); | 1306 chromeos::DBusThreadManager::GetSetterForTesting(); |
1285 chromeos::MockCryptohomeClient* cryptohome_client = | 1307 chromeos::MockCryptohomeClient* cryptohome_client = |
1286 new chromeos::MockCryptohomeClient; | 1308 new chromeos::MockCryptohomeClient; |
1287 dbus_setter->SetCryptohomeClient( | 1309 dbus_setter->SetCryptohomeClient( |
1288 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); | 1310 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); |
1289 | 1311 |
1290 // Expect exactly one call. No calls means no attempt to delete keys and more | 1312 // Expect exactly one call. No calls means no attempt to delete keys and more |
1291 // than one call means a significant performance problem. | 1313 // than one call means a significant performance problem. |
1292 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) | 1314 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) |
1293 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); | 1315 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); |
1294 | 1316 |
1295 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1317 BlockUntilBrowsingDataRemoved( |
1296 BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES, | 1318 base::Time(), base::Time::Max(), |
1297 false); | 1319 content::BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES, false); |
1298 | 1320 |
1299 chromeos::DBusThreadManager::Shutdown(); | 1321 chromeos::DBusThreadManager::Shutdown(); |
1300 } | 1322 } |
1301 #endif | 1323 #endif |
1302 | 1324 |
1303 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Null) { | 1325 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Null) { |
1304 const ClearDomainReliabilityTester& tester = | 1326 const ClearDomainReliabilityTester& tester = |
1305 clear_domain_reliability_tester(); | 1327 clear_domain_reliability_tester(); |
1306 | 1328 |
1307 EXPECT_EQ(0u, tester.clear_count()); | 1329 EXPECT_EQ(0u, tester.clear_count()); |
(...skipping 30 matching lines...) Expand all Loading... |
1338 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); | 1360 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); |
1339 EXPECT_TRUE(ProbablySameFilters( | 1361 EXPECT_TRUE(ProbablySameFilters( |
1340 builder->BuildGeneralFilter(), tester.last_filter())); | 1362 builder->BuildGeneralFilter(), tester.last_filter())); |
1341 } | 1363 } |
1342 | 1364 |
1343 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) { | 1365 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) { |
1344 const ClearDomainReliabilityTester& tester = | 1366 const ClearDomainReliabilityTester& tester = |
1345 clear_domain_reliability_tester(); | 1367 clear_domain_reliability_tester(); |
1346 | 1368 |
1347 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1369 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
1348 BrowsingDataRemover::DATA_TYPE_COOKIES, false); | 1370 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1371 false); |
1349 EXPECT_EQ(1u, tester.clear_count()); | 1372 EXPECT_EQ(1u, tester.clear_count()); |
1350 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1373 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
1351 EXPECT_TRUE(ProbablySameFilters( | 1374 EXPECT_TRUE(ProbablySameFilters( |
1352 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); | 1375 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); |
1353 } | 1376 } |
1354 | 1377 |
1355 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1378 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1356 DomainReliability_Contexts_WithFilter) { | 1379 DomainReliability_Contexts_WithFilter) { |
1357 const ClearDomainReliabilityTester& tester = | 1380 const ClearDomainReliabilityTester& tester = |
1358 clear_domain_reliability_tester(); | 1381 clear_domain_reliability_tester(); |
1359 | 1382 |
1360 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1383 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1361 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1384 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1362 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1385 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1363 | 1386 |
1364 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1387 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
1365 BrowsingDataRemover::DATA_TYPE_COOKIES, | 1388 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
1366 builder->Copy()); | 1389 builder->Copy()); |
1367 EXPECT_EQ(1u, tester.clear_count()); | 1390 EXPECT_EQ(1u, tester.clear_count()); |
1368 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1391 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
1369 EXPECT_TRUE(ProbablySameFilters( | 1392 EXPECT_TRUE(ProbablySameFilters( |
1370 builder->BuildGeneralFilter(), tester.last_filter())); | 1393 builder->BuildGeneralFilter(), tester.last_filter())); |
1371 } | 1394 } |
1372 | 1395 |
1373 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) { | 1396 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) { |
1374 const ClearDomainReliabilityTester& tester = | 1397 const ClearDomainReliabilityTester& tester = |
1375 clear_domain_reliability_tester(); | 1398 clear_domain_reliability_tester(); |
1376 | 1399 |
1377 BlockUntilBrowsingDataRemoved( | 1400 BlockUntilBrowsingDataRemoved( |
1378 base::Time(), base::Time::Max(), | 1401 base::Time(), base::Time::Max(), |
1379 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 1402 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
1380 BrowsingDataRemover::DATA_TYPE_COOKIES, | 1403 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
1381 false); | 1404 false); |
1382 EXPECT_EQ(1u, tester.clear_count()); | 1405 EXPECT_EQ(1u, tester.clear_count()); |
1383 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1406 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
1384 } | 1407 } |
1385 | 1408 |
1386 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1409 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1387 DomainReliability_ProtectedOrigins) { | 1410 DomainReliability_ProtectedOrigins) { |
1388 const ClearDomainReliabilityTester& tester = | 1411 const ClearDomainReliabilityTester& tester = |
1389 clear_domain_reliability_tester(); | 1412 clear_domain_reliability_tester(); |
1390 | 1413 |
1391 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1414 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
1392 BrowsingDataRemover::DATA_TYPE_COOKIES, true); | 1415 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1416 true); |
1393 EXPECT_EQ(1u, tester.clear_count()); | 1417 EXPECT_EQ(1u, tester.clear_count()); |
1394 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1418 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
1395 } | 1419 } |
1396 | 1420 |
1397 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since | 1421 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since |
1398 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed | 1422 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed |
1399 // for some unrelated test cases. This should be fixed so it tests the no- | 1423 // for some unrelated test cases. This should be fixed so it tests the no- |
1400 // monitor case again. | 1424 // monitor case again. |
1401 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1425 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1402 DISABLED_DomainReliability_NoMonitor) { | 1426 DISABLED_DomainReliability_NoMonitor) { |
1403 BlockUntilBrowsingDataRemoved( | 1427 BlockUntilBrowsingDataRemoved( |
1404 base::Time(), base::Time::Max(), | 1428 base::Time(), base::Time::Max(), |
1405 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 1429 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
1406 BrowsingDataRemover::DATA_TYPE_COOKIES, | 1430 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
1407 false); | 1431 false); |
1408 } | 1432 } |
1409 | 1433 |
1410 // Tests that the deletion of downloads completes successfully and that | 1434 // Tests that the deletion of downloads completes successfully and that |
1411 // ChromeDownloadManagerDelegate is correctly created and shut down. | 1435 // ChromeDownloadManagerDelegate is correctly created and shut down. |
1412 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDownloads) { | 1436 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDownloads) { |
1413 RemoveDownloadsTester tester(GetProfile()); | 1437 RemoveDownloadsTester tester(GetProfile()); |
1414 | 1438 |
1415 EXPECT_CALL( | 1439 EXPECT_CALL( |
1416 *tester.download_manager(), RemoveDownloadsByURLAndTime(_, _, _)); | 1440 *tester.download_manager(), RemoveDownloadsByURLAndTime(_, _, _)); |
1417 | 1441 |
1418 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1442 BlockUntilBrowsingDataRemoved( |
1419 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, | 1443 base::Time(), base::Time::Max(), |
1420 false); | 1444 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS, false); |
1421 } | 1445 } |
1422 | 1446 |
1423 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordStatistics) { | 1447 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordStatistics) { |
1424 RemovePasswordsTester tester(GetProfile()); | 1448 RemovePasswordsTester tester(GetProfile()); |
1425 base::Callback<bool(const GURL&)> empty_filter; | 1449 base::Callback<bool(const GURL&)> empty_filter; |
1426 | 1450 |
1427 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl( | 1451 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl( |
1428 ProbablySameFilter(empty_filter), | 1452 ProbablySameFilter(empty_filter), |
1429 base::Time(), base::Time::Max())); | 1453 base::Time(), base::Time::Max())); |
1430 BlockUntilBrowsingDataRemoved( | 1454 BlockUntilBrowsingDataRemoved( |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1486 RemovePasswordsTester tester(GetProfile()); | 1510 RemovePasswordsTester tester(GetProfile()); |
1487 base::Callback<bool(const GURL&)> empty_filter = | 1511 base::Callback<bool(const GURL&)> empty_filter = |
1488 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1512 BrowsingDataFilterBuilder::BuildNoopFilter(); |
1489 | 1513 |
1490 EXPECT_CALL( | 1514 EXPECT_CALL( |
1491 *tester.store(), | 1515 *tester.store(), |
1492 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) | 1516 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) |
1493 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1517 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
1494 | 1518 |
1495 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1519 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
1496 BrowsingDataRemover::DATA_TYPE_COOKIES, false); | 1520 content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1521 false); |
1497 } | 1522 } |
1498 | 1523 |
1499 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1524 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1500 DisableAutoSignInAfterRemovingPasswords) { | 1525 DisableAutoSignInAfterRemovingPasswords) { |
1501 RemovePasswordsTester tester(GetProfile()); | 1526 RemovePasswordsTester tester(GetProfile()); |
1502 base::Callback<bool(const GURL&)> empty_filter = | 1527 base::Callback<bool(const GURL&)> empty_filter = |
1503 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1528 BrowsingDataFilterBuilder::BuildNoopFilter(); |
1504 | 1529 |
1505 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) | 1530 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) |
1506 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1531 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
1507 EXPECT_CALL( | 1532 EXPECT_CALL( |
1508 *tester.store(), | 1533 *tester.store(), |
1509 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) | 1534 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) |
1510 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1535 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
1511 | 1536 |
1512 BlockUntilBrowsingDataRemoved( | 1537 BlockUntilBrowsingDataRemoved( |
1513 base::Time(), base::Time::Max(), | 1538 base::Time(), base::Time::Max(), |
1514 BrowsingDataRemover::DATA_TYPE_COOKIES | | 1539 content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
1515 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, | 1540 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, |
1516 false); | 1541 false); |
1517 } | 1542 } |
1518 | 1543 |
1519 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1544 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1520 RemoveContentSettingsWithBlacklist) { | 1545 RemoveContentSettingsWithBlacklist) { |
1521 // Add our settings. | 1546 // Add our settings. |
1522 HostContentSettingsMap* host_content_settings_map = | 1547 HostContentSettingsMap* host_content_settings_map = |
1523 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 1548 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
1524 host_content_settings_map->SetWebsiteSettingDefaultScope( | 1549 host_content_settings_map->SetWebsiteSettingDefaultScope( |
(...skipping 14 matching lines...) Expand all Loading... |
1539 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1564 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
1540 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 1565 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
1541 filter->AddRegisterableDomain(kTestRegisterableDomain3); | 1566 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
1542 BlockUntilOriginDataRemoved( | 1567 BlockUntilOriginDataRemoved( |
1543 AnHourAgo(), base::Time::Max(), | 1568 AnHourAgo(), base::Time::Max(), |
1544 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, | 1569 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
1545 std::move(filter)); | 1570 std::move(filter)); |
1546 | 1571 |
1547 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, | 1572 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
1548 GetRemovalMask()); | 1573 GetRemovalMask()); |
1549 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1574 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1550 GetOriginTypeMask()); | 1575 GetOriginTypeMask()); |
1551 | 1576 |
1552 // Verify we only have true, and they're origin1, origin3, and origin4. | 1577 // Verify we only have true, and they're origin1, origin3, and origin4. |
1553 ContentSettingsForOneType host_settings; | 1578 ContentSettingsForOneType host_settings; |
1554 host_content_settings_map->GetSettingsForOneType( | 1579 host_content_settings_map->GetSettingsForOneType( |
1555 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); | 1580 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); |
1556 EXPECT_EQ(3u, host_settings.size()); | 1581 EXPECT_EQ(3u, host_settings.size()); |
1557 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1582 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
1558 host_settings[0].primary_pattern) | 1583 host_settings[0].primary_pattern) |
1559 << host_settings[0].primary_pattern.ToString(); | 1584 << host_settings[0].primary_pattern.ToString(); |
(...skipping 21 matching lines...) Expand all Loading... |
1581 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1606 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
1582 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 1607 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
1583 filter->AddRegisterableDomain(kTestRegisterableDomain3); | 1608 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
1584 BlockUntilOriginDataRemoved( | 1609 BlockUntilOriginDataRemoved( |
1585 AnHourAgo(), base::Time::Max(), | 1610 AnHourAgo(), base::Time::Max(), |
1586 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, | 1611 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, |
1587 std::move(filter)); | 1612 std::move(filter)); |
1588 | 1613 |
1589 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, | 1614 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, |
1590 GetRemovalMask()); | 1615 GetRemovalMask()); |
1591 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 1616 EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1592 GetOriginTypeMask()); | 1617 GetOriginTypeMask()); |
1593 | 1618 |
1594 // Verify we only have allow for the first origin. | 1619 // Verify we only have allow for the first origin. |
1595 ContentSettingsForOneType host_settings; | 1620 ContentSettingsForOneType host_settings; |
1596 host_content_settings_map->GetSettingsForOneType( | 1621 host_content_settings_map->GetSettingsForOneType( |
1597 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); | 1622 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); |
1598 | 1623 |
1599 ASSERT_EQ(2u, host_settings.size()); | 1624 ASSERT_EQ(2u, host_settings.size()); |
1600 // Only the first should should have a setting. | 1625 // Only the first should should have a setting. |
1601 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1626 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
(...skipping 15 matching lines...) Expand all Loading... |
1617 DurableStoragePermissionContext durable_permission(GetProfile()); | 1642 DurableStoragePermissionContext durable_permission(GetProfile()); |
1618 durable_permission.UpdateContentSetting(kOrigin1, GURL(), | 1643 durable_permission.UpdateContentSetting(kOrigin1, GURL(), |
1619 CONTENT_SETTING_ALLOW); | 1644 CONTENT_SETTING_ALLOW); |
1620 ContentSettingsForOneType host_settings; | 1645 ContentSettingsForOneType host_settings; |
1621 host_content_settings_map->GetSettingsForOneType( | 1646 host_content_settings_map->GetSettingsForOneType( |
1622 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); | 1647 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); |
1623 EXPECT_EQ(2u, host_settings.size()); | 1648 EXPECT_EQ(2u, host_settings.size()); |
1624 | 1649 |
1625 BlockUntilBrowsingDataRemoved( | 1650 BlockUntilBrowsingDataRemoved( |
1626 base::Time(), base::Time::Max(), | 1651 base::Time(), base::Time::Max(), |
1627 BrowsingDataRemover::DATA_TYPE_EMBEDDER_DOM_STORAGE, false); | 1652 content::BrowsingDataRemover::DATA_TYPE_EMBEDDER_DOM_STORAGE, false); |
1628 | 1653 |
1629 // After the deletion, only the wildcard should remain. | 1654 // After the deletion, only the wildcard should remain. |
1630 host_content_settings_map->GetSettingsForOneType( | 1655 host_content_settings_map->GetSettingsForOneType( |
1631 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); | 1656 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); |
1632 EXPECT_EQ(1u, host_settings.size()); | 1657 EXPECT_EQ(1u, host_settings.size()); |
1633 EXPECT_EQ(ContentSettingsPattern::Wildcard(), | 1658 EXPECT_EQ(ContentSettingsPattern::Wildcard(), |
1634 host_settings[0].primary_pattern) | 1659 host_settings[0].primary_pattern) |
1635 << host_settings[0].primary_pattern.ToString(); | 1660 << host_settings[0].primary_pattern.ToString(); |
1636 } | 1661 } |
1637 | 1662 |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1825 | 1850 |
1826 // TODO(msramek): Mock PluginDataRemover and test the complete deletion | 1851 // TODO(msramek): Mock PluginDataRemover and test the complete deletion |
1827 // of plugin data as well. | 1852 // of plugin data as well. |
1828 } | 1853 } |
1829 #endif | 1854 #endif |
1830 | 1855 |
1831 // Test that the remover clears bookmark meta data (normally added in a tab | 1856 // Test that the remover clears bookmark meta data (normally added in a tab |
1832 // helper). | 1857 // helper). |
1833 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1858 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
1834 BookmarkLastVisitDatesGetCleared) { | 1859 BookmarkLastVisitDatesGetCleared) { |
1835 TestingProfile profile; | 1860 GetProfile()->CreateBookmarkModel(true); |
1836 profile.CreateBookmarkModel(true); | |
1837 | 1861 |
1838 bookmarks::BookmarkModel* bookmark_model = | 1862 bookmarks::BookmarkModel* bookmark_model = |
1839 BookmarkModelFactory::GetForBrowserContext(&profile); | 1863 BookmarkModelFactory::GetForBrowserContext(GetProfile()); |
1840 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); | 1864 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); |
1841 | 1865 |
1842 const base::Time delete_begin = | 1866 const base::Time delete_begin = |
1843 base::Time::Now() - base::TimeDelta::FromDays(1); | 1867 base::Time::Now() - base::TimeDelta::FromDays(1); |
1844 | 1868 |
1845 // Create a couple of bookmarks. | 1869 // Create a couple of bookmarks. |
1846 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, | 1870 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, |
1847 base::string16(), | 1871 base::string16(), |
1848 GURL("http://foo.org/desktop")); | 1872 GURL("http://foo.org/desktop")); |
1849 bookmark_model->AddURL(bookmark_model->mobile_node(), 0, | 1873 bookmark_model->AddURL(bookmark_model->mobile_node(), 0, |
(...skipping 18 matching lines...) Expand all Loading... |
1868 GURL("http://foo-2.org/"), delete_begin - base::TimeDelta::FromDays(1), | 1892 GURL("http://foo-2.org/"), delete_begin - base::TimeDelta::FromDays(1), |
1869 &meta_info); | 1893 &meta_info); |
1870 | 1894 |
1871 // There should be some recently visited bookmarks. | 1895 // There should be some recently visited bookmarks. |
1872 EXPECT_THAT(ntp_snippets::GetRecentlyVisitedBookmarks( | 1896 EXPECT_THAT(ntp_snippets::GetRecentlyVisitedBookmarks( |
1873 bookmark_model, 2, base::Time::UnixEpoch(), | 1897 bookmark_model, 2, base::Time::UnixEpoch(), |
1874 /*consider_visits_from_desktop=*/false), | 1898 /*consider_visits_from_desktop=*/false), |
1875 Not(IsEmpty())); | 1899 Not(IsEmpty())); |
1876 | 1900 |
1877 // Inject the bookmark model into the remover. | 1901 // Inject the bookmark model into the remover. |
1878 BrowsingDataRemover* remover = | 1902 content::BrowsingDataRemover* remover = |
1879 BrowsingDataRemoverFactory::GetForBrowserContext(&profile); | 1903 content::BrowserContext::GetBrowsingDataRemover(GetProfile()); |
1880 | 1904 |
1881 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 1905 content::BrowsingDataRemoverCompletionObserver completion_observer(remover); |
1882 remover->RemoveAndReply(delete_begin, base::Time::Max(), | 1906 remover->RemoveAndReply(delete_begin, base::Time::Max(), |
1883 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, | 1907 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
1884 ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES, | 1908 ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES, |
1885 &completion_observer); | 1909 &completion_observer); |
1886 completion_observer.BlockUntilCompletion(); | 1910 completion_observer.BlockUntilCompletion(); |
1887 | 1911 |
1888 // There should be only 1 recently visited bookmarks. | 1912 // There should be only 1 recently visited bookmarks. |
1889 std::vector<const bookmarks::BookmarkNode*> remaining_nodes = | 1913 std::vector<const bookmarks::BookmarkNode*> remaining_nodes = |
1890 ntp_snippets::GetRecentlyVisitedBookmarks( | 1914 ntp_snippets::GetRecentlyVisitedBookmarks( |
1891 bookmark_model, 3, base::Time::UnixEpoch(), | 1915 bookmark_model, 3, base::Time::UnixEpoch(), |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1988 EXPECT_FALSE(Match(kOrigin1, kProtected, nullptr)); | 2012 EXPECT_FALSE(Match(kOrigin1, kProtected, nullptr)); |
1989 EXPECT_FALSE(Match(kOriginExt, kProtected, nullptr)); | 2013 EXPECT_FALSE(Match(kOriginExt, kProtected, nullptr)); |
1990 EXPECT_FALSE(Match(kOriginDevTools, kProtected, nullptr)); | 2014 EXPECT_FALSE(Match(kOriginDevTools, kProtected, nullptr)); |
1991 | 2015 |
1992 #if BUILDFLAG(ENABLE_EXTENSIONS) | 2016 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1993 EXPECT_FALSE(Match(kOrigin1, kExtension, nullptr)); | 2017 EXPECT_FALSE(Match(kOrigin1, kExtension, nullptr)); |
1994 EXPECT_TRUE(Match(kOriginExt, kExtension, nullptr)); | 2018 EXPECT_TRUE(Match(kOriginExt, kExtension, nullptr)); |
1995 EXPECT_FALSE(Match(kOriginDevTools, kExtension, nullptr)); | 2019 EXPECT_FALSE(Match(kOriginDevTools, kExtension, nullptr)); |
1996 #endif | 2020 #endif |
1997 } | 2021 } |
OLD | NEW |