Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc

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

Powered by Google App Engine
This is Rietveld 408576698