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

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

Issue 2647683002: Consolidate Origin- and RegistrableDomain- FilterBuilder into one class (Closed)
Patch Set: Rebase. Created 3 years, 11 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 "chrome/browser/autofill/personal_data_manager_factory.h" 11 #include "chrome/browser/autofill/personal_data_manager_factory.h"
12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
13 #include "chrome/browser/browsing_data/browsing_data_filter_builder.h"
13 #include "chrome/browser/browsing_data/browsing_data_helper.h" 14 #include "chrome/browser/browsing_data/browsing_data_helper.h"
14 #include "chrome/browser/browsing_data/browsing_data_remover.h" 15 #include "chrome/browser/browsing_data/browsing_data_remover.h"
15 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 16 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
16 #include "chrome/browser/browsing_data/browsing_data_remover_impl.h" 17 #include "chrome/browser/browsing_data/browsing_data_remover_impl.h"
17 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" 18 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h"
18 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" 19 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
19 #include "chrome/browser/browsing_data/registrable_domain_filter_builder.h"
20 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 20 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
21 #include "chrome/browser/domain_reliability/service_factory.h" 21 #include "chrome/browser/domain_reliability/service_factory.h"
22 #include "chrome/browser/download/chrome_download_manager_delegate.h" 22 #include "chrome/browser/download/chrome_download_manager_delegate.h"
23 #include "chrome/browser/favicon/favicon_service_factory.h" 23 #include "chrome/browser/favicon/favicon_service_factory.h"
24 #include "chrome/browser/history/history_service_factory.h" 24 #include "chrome/browser/history/history_service_factory.h"
25 #include "chrome/browser/password_manager/password_store_factory.h" 25 #include "chrome/browser/password_manager/password_store_factory.h"
26 #include "chrome/browser/permissions/permission_decision_auto_blocker.h" 26 #include "chrome/browser/permissions/permission_decision_auto_blocker.h"
27 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 27 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
28 #include "chrome/browser/storage/durable_storage_permission_context.h" 28 #include "chrome/browser/storage/durable_storage_permission_context.h"
29 #include "chrome/common/pref_names.h" 29 #include "chrome/common/pref_names.h"
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 remover_->RemoveAndReply( 856 remover_->RemoveAndReply(
857 delete_begin, delete_end, remove_mask, origin_type_mask, 857 delete_begin, delete_end, remove_mask, origin_type_mask,
858 &completion_observer); 858 &completion_observer);
859 completion_observer.BlockUntilCompletion(); 859 completion_observer.BlockUntilCompletion();
860 } 860 }
861 861
862 void BlockUntilOriginDataRemoved( 862 void BlockUntilOriginDataRemoved(
863 const base::Time& delete_begin, 863 const base::Time& delete_begin,
864 const base::Time& delete_end, 864 const base::Time& delete_end,
865 int remove_mask, 865 int remove_mask,
866 const BrowsingDataFilterBuilder& filter_builder) { 866 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) {
867 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; 867 BrowsingDataRemoverCompletionObserver completion_observer(remover_);
868
869 // TODO(crbug.com/668114): ChromeBrowsingDataRemoverTest should not know
870 // about BrowsingDataRemoverImpl. We will be able to remove this cast once
871 // BrowsingDataFilterBuilder is copyable and comparable.
872 static_cast<BrowsingDataRemoverImpl*>(remover_) 868 static_cast<BrowsingDataRemoverImpl*>(remover_)
873 ->RemoveImpl(delete_begin, delete_end, remove_mask, filter_builder, 869 ->RemoveWithFilterAndReply(delete_begin, delete_end, remove_mask,
874 BrowsingDataHelper::UNPROTECTED_WEB); 870 BrowsingDataHelper::UNPROTECTED_WEB,
875 completion_inhibitor.BlockUntilNearCompletion(); 871 std::move(filter_builder),
876 completion_inhibitor.ContinueToCompletion(); 872 &completion_observer);
873 completion_observer.BlockUntilCompletion();
877 } 874 }
878 875
879 const base::Time& GetBeginTime() { 876 const base::Time& GetBeginTime() {
880 return remover_->GetLastUsedBeginTime(); 877 return remover_->GetLastUsedBeginTime();
881 } 878 }
882 879
883 int GetRemovalMask() { 880 int GetRemovalMask() {
884 return remover_->GetLastUsedRemovalMask(); 881 return remover_->GetLastUsedRemovalMask();
885 } 882 }
886 883
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 // browsing cookies. 936 // browsing cookies.
940 EXPECT_TRUE(tester.ContainsCookie()); 937 EXPECT_TRUE(tester.ContainsCookie());
941 } 938 }
942 939
943 TEST_F(ChromeBrowsingDataRemoverDelegateTest, 940 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
944 RemoveSafeBrowsingCookieForeverWithPredicate) { 941 RemoveSafeBrowsingCookieForeverWithPredicate) {
945 RemoveSafeBrowsingCookieTester tester; 942 RemoveSafeBrowsingCookieTester tester;
946 943
947 tester.AddCookie(); 944 tester.AddCookie();
948 ASSERT_TRUE(tester.ContainsCookie()); 945 ASSERT_TRUE(tester.ContainsCookie());
949 RegistrableDomainFilterBuilder filter( 946 std::unique_ptr<BrowsingDataFilterBuilder> filter(
950 RegistrableDomainFilterBuilder::BLACKLIST); 947 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
951 filter.AddRegisterableDomain(kTestRegisterableDomain1); 948 filter->AddRegisterableDomain(kTestRegisterableDomain1);
952 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 949 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
953 BrowsingDataRemover::REMOVE_COOKIES, filter); 950 BrowsingDataRemover::REMOVE_COOKIES,
951 std::move(filter));
954 952
955 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 953 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
956 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 954 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
957 EXPECT_TRUE(tester.ContainsCookie()); 955 EXPECT_TRUE(tester.ContainsCookie());
958 956
959 RegistrableDomainFilterBuilder filter2( 957 std::unique_ptr<BrowsingDataFilterBuilder> filter2(
960 RegistrableDomainFilterBuilder::WHITELIST); 958 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
961 filter2.AddRegisterableDomain(kTestRegisterableDomain1); 959 filter2->AddRegisterableDomain(kTestRegisterableDomain1);
962 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 960 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
963 BrowsingDataRemover::REMOVE_COOKIES, filter2); 961 BrowsingDataRemover::REMOVE_COOKIES,
962 std::move(filter2));
964 EXPECT_FALSE(tester.ContainsCookie()); 963 EXPECT_FALSE(tester.ContainsCookie());
965 } 964 }
966 965
967 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) { 966 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) {
968 RemoveHistoryTester tester; 967 RemoveHistoryTester tester;
969 ASSERT_TRUE(tester.Init(GetProfile())); 968 ASSERT_TRUE(tester.Init(GetProfile()));
970 969
971 tester.AddHistory(kOrigin1, base::Time::Now()); 970 tester.AddHistory(kOrigin1, base::Time::Now());
972 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 971 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
973 972
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 ASSERT_TRUE(favicon_tester.Init(GetProfile())); 1090 ASSERT_TRUE(favicon_tester.Init(GetProfile()));
1092 favicon_tester.VisitAndAddFavicon(bookmarked_page); 1091 favicon_tester.VisitAndAddFavicon(bookmarked_page);
1093 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); 1092 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page));
1094 1093
1095 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1094 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1096 BrowsingDataRemover::REMOVE_HISTORY, false); 1095 BrowsingDataRemover::REMOVE_HISTORY, false);
1097 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1096 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1098 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); 1097 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page));
1099 } 1098 }
1100 1099
1101 TEST_F(ChromeBrowsingDataRemoverDelegateTest, TimeBasedHistoryRemoval) { 1100 // TODO(crbug.com/589586): Disabled, since history is not yet marked as
1101 // a filterable datatype.
1102 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
1103 DISABLED_TimeBasedHistoryRemoval) {
1102 RemoveHistoryTester tester; 1104 RemoveHistoryTester tester;
1103 ASSERT_TRUE(tester.Init(GetProfile())); 1105 ASSERT_TRUE(tester.Init(GetProfile()));
1104 1106
1105 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 1107 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
1106 1108
1107 tester.AddHistory(kOrigin1, base::Time::Now()); 1109 tester.AddHistory(kOrigin1, base::Time::Now());
1108 tester.AddHistory(kOrigin2, two_hours_ago); 1110 tester.AddHistory(kOrigin2, two_hours_ago);
1109 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 1111 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
1110 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1112 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2));
1111 1113
1112 RegistrableDomainFilterBuilder builder( 1114 std::unique_ptr<BrowsingDataFilterBuilder> builder(
1113 RegistrableDomainFilterBuilder::BLACKLIST); 1115 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
1114 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), 1116 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(),
1115 BrowsingDataRemover::REMOVE_HISTORY, builder); 1117 BrowsingDataRemover::REMOVE_HISTORY,
1118 std::move(builder));
1116 1119
1117 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1120 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1118 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1121 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1119 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); 1122 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1));
1120 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1123 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2));
1121 } 1124 }
1122 1125
1123 // Verify that clearing autofill form data works. 1126 // Verify that clearing autofill form data works.
1124 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) { 1127 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) {
1125 GetProfile()->CreateWebDataService(); 1128 GetProfile()->CreateWebDataService();
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 clear_domain_reliability_tester(); 1233 clear_domain_reliability_tester();
1231 1234
1232 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1235 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1233 BrowsingDataRemover::REMOVE_HISTORY, false); 1236 BrowsingDataRemover::REMOVE_HISTORY, false);
1234 EXPECT_EQ(1u, tester.clear_count()); 1237 EXPECT_EQ(1u, tester.clear_count());
1235 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); 1238 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode());
1236 EXPECT_TRUE(ProbablySameFilters( 1239 EXPECT_TRUE(ProbablySameFilters(
1237 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); 1240 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter()));
1238 } 1241 }
1239 1242
1243 // TODO(crbug.com/589586): Disabled, since history is not yet marked as
1244 // a filterable datatype.
1240 TEST_F(ChromeBrowsingDataRemoverDelegateTest, 1245 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
1241 DomainReliability_Beacons_WithFilter) { 1246 DISABLED_DomainReliability_Beacons_WithFilter) {
1242 const ClearDomainReliabilityTester& tester = 1247 const ClearDomainReliabilityTester& tester =
1243 clear_domain_reliability_tester(); 1248 clear_domain_reliability_tester();
1244 1249
1245 RegistrableDomainFilterBuilder builder( 1250 std::unique_ptr<BrowsingDataFilterBuilder> builder(
1246 RegistrableDomainFilterBuilder::WHITELIST); 1251 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1247 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1252 builder->AddRegisterableDomain(kTestRegisterableDomain1);
1248 1253
1249 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 1254 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
1250 BrowsingDataRemover::REMOVE_HISTORY, builder); 1255 BrowsingDataRemover::REMOVE_HISTORY,
1256 builder->Copy());
1251 EXPECT_EQ(1u, tester.clear_count()); 1257 EXPECT_EQ(1u, tester.clear_count());
1252 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); 1258 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode());
1253 EXPECT_TRUE(ProbablySameFilters( 1259 EXPECT_TRUE(ProbablySameFilters(
1254 builder.BuildGeneralFilter(), tester.last_filter())); 1260 builder->BuildGeneralFilter(), tester.last_filter()));
1255 } 1261 }
1256 1262
1257 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) { 1263 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) {
1258 const ClearDomainReliabilityTester& tester = 1264 const ClearDomainReliabilityTester& tester =
1259 clear_domain_reliability_tester(); 1265 clear_domain_reliability_tester();
1260 1266
1261 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1267 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1262 BrowsingDataRemover::REMOVE_COOKIES, false); 1268 BrowsingDataRemover::REMOVE_COOKIES, false);
1263 EXPECT_EQ(1u, tester.clear_count()); 1269 EXPECT_EQ(1u, tester.clear_count());
1264 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); 1270 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
1265 EXPECT_TRUE(ProbablySameFilters( 1271 EXPECT_TRUE(ProbablySameFilters(
1266 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); 1272 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter()));
1267 } 1273 }
1268 1274
1269 TEST_F(ChromeBrowsingDataRemoverDelegateTest, 1275 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
1270 DomainReliability_Contexts_WithFilter) { 1276 DomainReliability_Contexts_WithFilter) {
1271 const ClearDomainReliabilityTester& tester = 1277 const ClearDomainReliabilityTester& tester =
1272 clear_domain_reliability_tester(); 1278 clear_domain_reliability_tester();
1273 1279
1274 RegistrableDomainFilterBuilder builder( 1280 std::unique_ptr<BrowsingDataFilterBuilder> builder(
1275 RegistrableDomainFilterBuilder::WHITELIST); 1281 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1276 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1282 builder->AddRegisterableDomain(kTestRegisterableDomain1);
1277 1283
1278 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 1284 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
1279 BrowsingDataRemover::REMOVE_COOKIES, builder); 1285 BrowsingDataRemover::REMOVE_COOKIES,
1286 builder->Copy());
1280 EXPECT_EQ(1u, tester.clear_count()); 1287 EXPECT_EQ(1u, tester.clear_count());
1281 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); 1288 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
1282 EXPECT_TRUE(ProbablySameFilters( 1289 EXPECT_TRUE(ProbablySameFilters(
1283 builder.BuildGeneralFilter(), tester.last_filter())); 1290 builder->BuildGeneralFilter(), tester.last_filter()));
1284 } 1291 }
1285 1292
1286 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) { 1293 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) {
1287 const ClearDomainReliabilityTester& tester = 1294 const ClearDomainReliabilityTester& tester =
1288 clear_domain_reliability_tester(); 1295 clear_domain_reliability_tester();
1289 1296
1290 BlockUntilBrowsingDataRemoved( 1297 BlockUntilBrowsingDataRemoved(
1291 base::Time(), base::Time::Max(), 1298 base::Time(), base::Time::Max(),
1292 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES, 1299 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES,
1293 false); 1300 false);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 RemovePasswordsTester tester(GetProfile()); 1341 RemovePasswordsTester tester(GetProfile());
1335 base::Callback<bool(const GURL&)> empty_filter; 1342 base::Callback<bool(const GURL&)> empty_filter;
1336 1343
1337 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl( 1344 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl(
1338 ProbablySameFilter(empty_filter), 1345 ProbablySameFilter(empty_filter),
1339 base::Time(), base::Time::Max())); 1346 base::Time(), base::Time::Max()));
1340 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1347 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1341 BrowsingDataRemover::REMOVE_HISTORY, false); 1348 BrowsingDataRemover::REMOVE_HISTORY, false);
1342 } 1349 }
1343 1350
1351 // TODO(crbug.com/589586): Disabled, since history is not yet marked as
1352 // a filterable datatype.
1344 TEST_F(ChromeBrowsingDataRemoverDelegateTest, 1353 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
1345 RemovePasswordStatisticsByOrigin) { 1354 DISABLED_RemovePasswordStatisticsByOrigin) {
1346 RemovePasswordsTester tester(GetProfile()); 1355 RemovePasswordsTester tester(GetProfile());
1347 1356
1348 RegistrableDomainFilterBuilder builder( 1357 std::unique_ptr<BrowsingDataFilterBuilder> builder(
1349 RegistrableDomainFilterBuilder::WHITELIST); 1358 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1350 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1359 builder->AddRegisterableDomain(kTestRegisterableDomain1);
1351 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); 1360 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter();
1352 1361
1353 EXPECT_CALL(*tester.store(), 1362 EXPECT_CALL(*tester.store(),
1354 RemoveStatisticsByOriginAndTimeImpl( 1363 RemoveStatisticsByOriginAndTimeImpl(
1355 ProbablySameFilter(filter), base::Time(), base::Time::Max())); 1364 ProbablySameFilter(filter), base::Time(), base::Time::Max()));
1356 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 1365 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
1357 BrowsingDataRemover::REMOVE_HISTORY, builder); 1366 BrowsingDataRemover::REMOVE_HISTORY,
1367 std::move(builder));
1358 } 1368 }
1359 1369
1360 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordsByTimeOnly) { 1370 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordsByTimeOnly) {
1361 RemovePasswordsTester tester(GetProfile()); 1371 RemovePasswordsTester tester(GetProfile());
1362 base::Callback<bool(const GURL&)> filter = 1372 base::Callback<bool(const GURL&)> filter =
1363 BrowsingDataFilterBuilder::BuildNoopFilter(); 1373 BrowsingDataFilterBuilder::BuildNoopFilter();
1364 1374
1365 EXPECT_CALL(*tester.store(), 1375 EXPECT_CALL(*tester.store(),
1366 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) 1376 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _))
1367 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 1377 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
1368 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1378 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1369 BrowsingDataRemover::REMOVE_PASSWORDS, false); 1379 BrowsingDataRemover::REMOVE_PASSWORDS, false);
1370 } 1380 }
1371 1381
1372 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordsByOrigin) { 1382 // Disabled, since passwords are not yet marked as a filterable datatype.
1383 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
1384 DISABLED_RemovePasswordsByOrigin) {
1373 RemovePasswordsTester tester(GetProfile()); 1385 RemovePasswordsTester tester(GetProfile());
1374 RegistrableDomainFilterBuilder builder( 1386 std::unique_ptr<BrowsingDataFilterBuilder> builder(
1375 RegistrableDomainFilterBuilder::WHITELIST); 1387 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1376 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1388 builder->AddRegisterableDomain(kTestRegisterableDomain1);
1377 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); 1389 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter();
1378 1390
1379 EXPECT_CALL(*tester.store(), 1391 EXPECT_CALL(*tester.store(),
1380 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) 1392 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _))
1381 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 1393 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
1382 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 1394 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
1383 BrowsingDataRemover::REMOVE_PASSWORDS, builder); 1395 BrowsingDataRemover::REMOVE_PASSWORDS,
1396 std::move(builder));
1384 } 1397 }
1385 1398
1386 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DisableAutoSignIn) { 1399 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DisableAutoSignIn) {
1387 RemovePasswordsTester tester(GetProfile()); 1400 RemovePasswordsTester tester(GetProfile());
1388 base::Callback<bool(const GURL&)> empty_filter = 1401 base::Callback<bool(const GURL&)> empty_filter =
1389 BrowsingDataFilterBuilder::BuildNoopFilter(); 1402 BrowsingDataFilterBuilder::BuildNoopFilter();
1390 1403
1391 EXPECT_CALL( 1404 EXPECT_CALL(
1392 *tester.store(), 1405 *tester.store(),
1393 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) 1406 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter)))
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 1441 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
1429 base::MakeUnique<base::DictionaryValue>()); 1442 base::MakeUnique<base::DictionaryValue>());
1430 host_content_settings_map->SetWebsiteSettingDefaultScope( 1443 host_content_settings_map->SetWebsiteSettingDefaultScope(
1431 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 1444 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
1432 base::MakeUnique<base::DictionaryValue>()); 1445 base::MakeUnique<base::DictionaryValue>());
1433 host_content_settings_map->SetWebsiteSettingDefaultScope( 1446 host_content_settings_map->SetWebsiteSettingDefaultScope(
1434 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 1447 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
1435 base::MakeUnique<base::DictionaryValue>()); 1448 base::MakeUnique<base::DictionaryValue>());
1436 1449
1437 // Clear all except for origin1 and origin3. 1450 // Clear all except for origin1 and origin3.
1438 RegistrableDomainFilterBuilder filter( 1451 std::unique_ptr<BrowsingDataFilterBuilder> filter(
1439 RegistrableDomainFilterBuilder::BLACKLIST); 1452 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
1440 filter.AddRegisterableDomain(kTestRegisterableDomain1); 1453 filter->AddRegisterableDomain(kTestRegisterableDomain1);
1441 filter.AddRegisterableDomain(kTestRegisterableDomain3); 1454 filter->AddRegisterableDomain(kTestRegisterableDomain3);
1442 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), 1455 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(),
1443 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, 1456 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA,
1444 filter); 1457 std::move(filter));
1445 1458
1446 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask()); 1459 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask());
1447 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1460 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1448 1461
1449 // Verify we only have true, and they're origin1, origin3, and origin4. 1462 // Verify we only have true, and they're origin1, origin3, and origin4.
1450 ContentSettingsForOneType host_settings; 1463 ContentSettingsForOneType host_settings;
1451 host_content_settings_map->GetSettingsForOneType( 1464 host_content_settings_map->GetSettingsForOneType(
1452 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); 1465 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings);
1453 EXPECT_EQ(3u, host_settings.size()); 1466 EXPECT_EQ(3u, host_settings.size());
1454 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), 1467 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1),
(...skipping 12 matching lines...) Expand all
1467 HostContentSettingsMap* host_content_settings_map = 1480 HostContentSettingsMap* host_content_settings_map =
1468 HostContentSettingsMapFactory::GetForProfile(GetProfile()); 1481 HostContentSettingsMapFactory::GetForProfile(GetProfile());
1469 1482
1470 DurableStoragePermissionContext durable_permission(GetProfile()); 1483 DurableStoragePermissionContext durable_permission(GetProfile());
1471 durable_permission.UpdateContentSetting(kOrigin1, GURL(), 1484 durable_permission.UpdateContentSetting(kOrigin1, GURL(),
1472 CONTENT_SETTING_ALLOW); 1485 CONTENT_SETTING_ALLOW);
1473 durable_permission.UpdateContentSetting(kOrigin2, GURL(), 1486 durable_permission.UpdateContentSetting(kOrigin2, GURL(),
1474 CONTENT_SETTING_ALLOW); 1487 CONTENT_SETTING_ALLOW);
1475 1488
1476 // Clear all except for origin1 and origin3. 1489 // Clear all except for origin1 and origin3.
1477 RegistrableDomainFilterBuilder filter( 1490 std::unique_ptr<BrowsingDataFilterBuilder> filter(
1478 RegistrableDomainFilterBuilder::BLACKLIST); 1491 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
1479 filter.AddRegisterableDomain(kTestRegisterableDomain1); 1492 filter->AddRegisterableDomain(kTestRegisterableDomain1);
1480 filter.AddRegisterableDomain(kTestRegisterableDomain3); 1493 filter->AddRegisterableDomain(kTestRegisterableDomain3);
1481 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), 1494 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(),
1482 BrowsingDataRemover::REMOVE_DURABLE_PERMISSION, 1495 BrowsingDataRemover::REMOVE_DURABLE_PERMISSION,
1483 filter); 1496 std::move(filter));
1484 1497
1485 EXPECT_EQ(BrowsingDataRemover::REMOVE_DURABLE_PERMISSION, GetRemovalMask()); 1498 EXPECT_EQ(BrowsingDataRemover::REMOVE_DURABLE_PERMISSION, GetRemovalMask());
1486 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1499 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1487 1500
1488 // Verify we only have allow for the first origin. 1501 // Verify we only have allow for the first origin.
1489 ContentSettingsForOneType host_settings; 1502 ContentSettingsForOneType host_settings;
1490 host_content_settings_map->GetSettingsForOneType( 1503 host_content_settings_map->GetSettingsForOneType(
1491 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); 1504 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings);
1492 1505
1493 ASSERT_EQ(2u, host_settings.size()); 1506 ASSERT_EQ(2u, host_settings.size());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), 1539 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(),
1527 BrowsingDataRemover::REMOVE_PASSWORDS, false); 1540 BrowsingDataRemover::REMOVE_PASSWORDS, false);
1528 1541
1529 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm, 1542 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm,
1530 net::HttpAuth::AUTH_SCHEME_BASIC)); 1543 net::HttpAuth::AUTH_SCHEME_BASIC));
1531 } 1544 }
1532 1545
1533 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ClearPermissionPromptCounts) { 1546 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ClearPermissionPromptCounts) {
1534 RemovePermissionPromptCountsTest tester(GetProfile()); 1547 RemovePermissionPromptCountsTest tester(GetProfile());
1535 1548
1536 RegistrableDomainFilterBuilder filter_builder_1( 1549 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_1(
1537 RegistrableDomainFilterBuilder::WHITELIST); 1550 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1538 filter_builder_1.AddRegisterableDomain(kTestRegisterableDomain1); 1551 filter_builder_1->AddRegisterableDomain(kTestRegisterableDomain1);
1539 1552
1540 RegistrableDomainFilterBuilder filter_builder_2( 1553 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_2(
1541 RegistrableDomainFilterBuilder::BLACKLIST); 1554 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
1542 filter_builder_2.AddRegisterableDomain(kTestRegisterableDomain1); 1555 filter_builder_2->AddRegisterableDomain(kTestRegisterableDomain1);
1543 1556
1544 { 1557 {
1545 // Test REMOVE_HISTORY. 1558 // Test REMOVE_HISTORY.
1546 EXPECT_EQ(1, tester.RecordIgnore(kOrigin1, 1559 EXPECT_EQ(1, tester.RecordIgnore(kOrigin1,
1547 content::PermissionType::GEOLOCATION)); 1560 content::PermissionType::GEOLOCATION));
1548 EXPECT_EQ(2, tester.RecordIgnore(kOrigin1, 1561 EXPECT_EQ(2, tester.RecordIgnore(kOrigin1,
1549 content::PermissionType::GEOLOCATION)); 1562 content::PermissionType::GEOLOCATION));
1550 EXPECT_EQ(1, tester.RecordIgnore(kOrigin1, 1563 EXPECT_EQ(1, tester.RecordIgnore(kOrigin1,
1551 content::PermissionType::NOTIFICATIONS)); 1564 content::PermissionType::NOTIFICATIONS));
1552 tester.ShouldChangeDismissalToBlock(kOrigin1, 1565 tester.ShouldChangeDismissalToBlock(kOrigin1,
1553 content::PermissionType::MIDI_SYSEX); 1566 content::PermissionType::MIDI_SYSEX);
1554 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2, 1567 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2,
1555 content::PermissionType::DURABLE_STORAGE)); 1568 content::PermissionType::DURABLE_STORAGE));
1556 tester.ShouldChangeDismissalToBlock(kOrigin2, 1569 tester.ShouldChangeDismissalToBlock(kOrigin2,
1557 content::PermissionType::NOTIFICATIONS); 1570 content::PermissionType::NOTIFICATIONS);
1558 1571
1559 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), 1572 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(),
1560 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, 1573 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA,
1561 filter_builder_1); 1574 std::move(filter_builder_1));
1562 1575
1563 // kOrigin1 should be gone, but kOrigin2 remains. 1576 // kOrigin1 should be gone, but kOrigin2 remains.
1564 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, 1577 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1,
1565 content::PermissionType::GEOLOCATION)); 1578 content::PermissionType::GEOLOCATION));
1566 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, 1579 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1,
1567 content::PermissionType::NOTIFICATIONS)); 1580 content::PermissionType::NOTIFICATIONS));
1568 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, 1581 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1,
1569 content::PermissionType::MIDI_SYSEX)); 1582 content::PermissionType::MIDI_SYSEX));
1570 EXPECT_EQ(1, tester.GetIgnoreCount( 1583 EXPECT_EQ(1, tester.GetIgnoreCount(
1571 kOrigin2, content::PermissionType::DURABLE_STORAGE)); 1584 kOrigin2, content::PermissionType::DURABLE_STORAGE));
(...skipping 25 matching lines...) Expand all
1597 content::PermissionType::NOTIFICATIONS)); 1610 content::PermissionType::NOTIFICATIONS));
1598 tester.ShouldChangeDismissalToBlock(kOrigin1, 1611 tester.ShouldChangeDismissalToBlock(kOrigin1,
1599 content::PermissionType::MIDI_SYSEX); 1612 content::PermissionType::MIDI_SYSEX);
1600 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2, 1613 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2,
1601 content::PermissionType::DURABLE_STORAGE)); 1614 content::PermissionType::DURABLE_STORAGE));
1602 tester.ShouldChangeDismissalToBlock(kOrigin2, 1615 tester.ShouldChangeDismissalToBlock(kOrigin2,
1603 content::PermissionType::NOTIFICATIONS); 1616 content::PermissionType::NOTIFICATIONS);
1604 1617
1605 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), 1618 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(),
1606 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, 1619 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA,
1607 filter_builder_2); 1620 std::move(filter_builder_2));
1608 1621
1609 // kOrigin2 should be gone, but kOrigin1 remains. 1622 // kOrigin2 should be gone, but kOrigin1 remains.
1610 EXPECT_EQ(2, tester.GetIgnoreCount(kOrigin1, 1623 EXPECT_EQ(2, tester.GetIgnoreCount(kOrigin1,
1611 content::PermissionType::GEOLOCATION)); 1624 content::PermissionType::GEOLOCATION));
1612 EXPECT_EQ(1, tester.GetIgnoreCount(kOrigin1, 1625 EXPECT_EQ(1, tester.GetIgnoreCount(kOrigin1,
1613 content::PermissionType::NOTIFICATIONS)); 1626 content::PermissionType::NOTIFICATIONS));
1614 EXPECT_EQ(1, tester.GetDismissCount(kOrigin1, 1627 EXPECT_EQ(1, tester.GetDismissCount(kOrigin1,
1615 content::PermissionType::MIDI_SYSEX)); 1628 content::PermissionType::MIDI_SYSEX));
1616 EXPECT_EQ(0, tester.GetIgnoreCount( 1629 EXPECT_EQ(0, tester.GetIgnoreCount(
1617 kOrigin2, content::PermissionType::DURABLE_STORAGE)); 1630 kOrigin2, content::PermissionType::DURABLE_STORAGE));
(...skipping 24 matching lines...) Expand all
1642 1655
1643 tester.AddDomain(kOrigin1.host()); 1656 tester.AddDomain(kOrigin1.host());
1644 tester.AddDomain(kOrigin2.host()); 1657 tester.AddDomain(kOrigin2.host());
1645 tester.AddDomain(kOrigin3.host()); 1658 tester.AddDomain(kOrigin3.host());
1646 1659
1647 std::vector<std::string> expected = { 1660 std::vector<std::string> expected = {
1648 kOrigin1.host(), kOrigin2.host(), kOrigin3.host() }; 1661 kOrigin1.host(), kOrigin2.host(), kOrigin3.host() };
1649 EXPECT_EQ(expected, tester.GetDomains()); 1662 EXPECT_EQ(expected, tester.GetDomains());
1650 1663
1651 // Delete data with a filter for the registrable domain of |kOrigin3|. 1664 // Delete data with a filter for the registrable domain of |kOrigin3|.
1652 RegistrableDomainFilterBuilder filter_builder( 1665 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder(
1653 RegistrableDomainFilterBuilder::WHITELIST); 1666 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST));
1654 filter_builder.AddRegisterableDomain(kTestRegisterableDomain3); 1667 filter_builder->AddRegisterableDomain(kTestRegisterableDomain3);
1655 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), 1668 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(),
1656 BrowsingDataRemover::REMOVE_PLUGIN_DATA, 1669 BrowsingDataRemover::REMOVE_PLUGIN_DATA,
1657 filter_builder); 1670 std::move(filter_builder));
1658 1671
1659 // Plugin data for |kOrigin3.host()| should have been removed. 1672 // Plugin data for |kOrigin3.host()| should have been removed.
1660 expected.pop_back(); 1673 expected.pop_back();
1661 EXPECT_EQ(expected, tester.GetDomains()); 1674 EXPECT_EQ(expected, tester.GetDomains());
1662 1675
1663 // TODO(msramek): Mock PluginDataRemover and test the complete deletion 1676 // TODO(msramek): Mock PluginDataRemover and test the complete deletion
1664 // of plugin data as well. 1677 // of plugin data as well.
1665 } 1678 }
1666 #endif 1679 #endif
1667 1680
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1722 completion_observer.BlockUntilCompletion(); 1735 completion_observer.BlockUntilCompletion();
1723 1736
1724 // There should be only 1 recently visited bookmarks. 1737 // There should be only 1 recently visited bookmarks.
1725 std::vector<const bookmarks::BookmarkNode*> remaining_nodes = 1738 std::vector<const bookmarks::BookmarkNode*> remaining_nodes =
1726 ntp_snippets::GetRecentlyVisitedBookmarks( 1739 ntp_snippets::GetRecentlyVisitedBookmarks(
1727 bookmark_model, 3, base::Time::UnixEpoch(), 1740 bookmark_model, 3, base::Time::UnixEpoch(),
1728 /*consider_visits_from_desktop=*/true); 1741 /*consider_visits_from_desktop=*/true);
1729 EXPECT_THAT(remaining_nodes, SizeIs(1)); 1742 EXPECT_THAT(remaining_nodes, SizeIs(1));
1730 EXPECT_THAT(remaining_nodes[0]->url().spec(), Eq("http://foo-2.org/")); 1743 EXPECT_THAT(remaining_nodes[0]->url().spec(), Eq("http://foo-2.org/"));
1731 } 1744 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698