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

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

Issue 2827523003: Move BrowsingDataRemover to content/ (Closed)
Patch Set: Addressed some comments. 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 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
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
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
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
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
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
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698