OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browsing_data_remover.h" | 5 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 #include "chrome/test/base/testing_browser_process.h" | 45 #include "chrome/test/base/testing_browser_process.h" |
46 #include "chrome/test/base/testing_profile.h" | 46 #include "chrome/test/base/testing_profile.h" |
47 #include "components/autofill/core/browser/autofill_profile.h" | 47 #include "components/autofill/core/browser/autofill_profile.h" |
48 #include "components/autofill/core/browser/autofill_test_utils.h" | 48 #include "components/autofill/core/browser/autofill_test_utils.h" |
49 #include "components/autofill/core/browser/credit_card.h" | 49 #include "components/autofill/core/browser/credit_card.h" |
50 #include "components/autofill/core/browser/personal_data_manager.h" | 50 #include "components/autofill/core/browser/personal_data_manager.h" |
51 #include "components/autofill/core/browser/personal_data_manager_observer.h" | 51 #include "components/autofill/core/browser/personal_data_manager_observer.h" |
52 #include "components/autofill/core/common/autofill_constants.h" | 52 #include "components/autofill/core/common/autofill_constants.h" |
53 #include "components/bookmarks/browser/bookmark_model.h" | 53 #include "components/bookmarks/browser/bookmark_model.h" |
54 #include "components/bookmarks/test/bookmark_test_helpers.h" | 54 #include "components/bookmarks/test/bookmark_test_helpers.h" |
| 55 #include "components/browsing_data/browsing_data_utils.h" |
55 #include "components/content_settings/core/browser/host_content_settings_map.h" | 56 #include "components/content_settings/core/browser/host_content_settings_map.h" |
56 #include "components/content_settings/core/common/content_settings.h" | 57 #include "components/content_settings/core/common/content_settings.h" |
57 #include "components/content_settings/core/common/content_settings_pattern.h" | 58 #include "components/content_settings/core/common/content_settings_pattern.h" |
58 #include "components/domain_reliability/clear_mode.h" | 59 #include "components/domain_reliability/clear_mode.h" |
59 #include "components/domain_reliability/monitor.h" | 60 #include "components/domain_reliability/monitor.h" |
60 #include "components/domain_reliability/service.h" | 61 #include "components/domain_reliability/service.h" |
61 #include "components/favicon/core/favicon_service.h" | 62 #include "components/favicon/core/favicon_service.h" |
62 #include "components/history/core/browser/history_service.h" | 63 #include "components/history/core/browser/history_service.h" |
63 #include "components/omnibox/browser/omnibox_pref_names.h" | 64 #include "components/omnibox/browser/omnibox_pref_names.h" |
64 #include "components/os_crypt/os_crypt_mocker.h" | 65 #include "components/os_crypt/os_crypt_mocker.h" |
(...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 // posts a message to the WEBKIT thread to delete some of its member | 1029 // posts a message to the WEBKIT thread to delete some of its member |
1029 // variables. We need to ensure that the profile is destroyed, and that | 1030 // variables. We need to ensure that the profile is destroyed, and that |
1030 // the message loop is cleared out, before destroying the threads and loop. | 1031 // the message loop is cleared out, before destroying the threads and loop. |
1031 // Otherwise we leak memory. | 1032 // Otherwise we leak memory. |
1032 profile_.reset(); | 1033 profile_.reset(); |
1033 base::MessageLoop::current()->RunUntilIdle(); | 1034 base::MessageLoop::current()->RunUntilIdle(); |
1034 | 1035 |
1035 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); | 1036 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); |
1036 } | 1037 } |
1037 | 1038 |
1038 void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period, | 1039 void BlockUntilBrowsingDataRemoved(TimePeriod period, |
1039 int remove_mask, | 1040 int remove_mask, |
1040 bool include_protected_origins) { | 1041 bool include_protected_origins) { |
1041 BrowsingDataRemover* remover = | 1042 BrowsingDataRemover* remover = |
1042 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); | 1043 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); |
1043 | 1044 |
1044 TestStoragePartition storage_partition; | 1045 TestStoragePartition storage_partition; |
1045 remover->OverrideStoragePartitionForTesting(&storage_partition); | 1046 remover->OverrideStoragePartitionForTesting(&storage_partition); |
1046 | 1047 |
1047 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); | 1048 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); |
1048 | 1049 |
1049 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; | 1050 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; |
1050 if (include_protected_origins) | 1051 if (include_protected_origins) |
1051 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB; | 1052 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB; |
1052 | 1053 |
1053 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 1054 BrowsingDataRemoverCompletionObserver completion_observer(remover); |
1054 remover->Remove(BrowsingDataRemover::Period(period), remove_mask, | 1055 remover->Remove(Period(period), remove_mask, origin_type_mask); |
1055 origin_type_mask); | |
1056 completion_observer.BlockUntilCompletion(); | 1056 completion_observer.BlockUntilCompletion(); |
1057 | 1057 |
1058 // Save so we can verify later. | 1058 // Save so we can verify later. |
1059 storage_partition_removal_data_ = | 1059 storage_partition_removal_data_ = |
1060 storage_partition.GetStoragePartitionRemovalData(); | 1060 storage_partition.GetStoragePartitionRemovalData(); |
1061 } | 1061 } |
1062 | 1062 |
1063 void BlockUntilOriginDataRemoved( | 1063 void BlockUntilOriginDataRemoved( |
1064 BrowsingDataRemover::TimePeriod period, | 1064 TimePeriod period, |
1065 int remove_mask, | 1065 int remove_mask, |
1066 const BrowsingDataFilterBuilder& filter_builder) { | 1066 const BrowsingDataFilterBuilder& filter_builder) { |
1067 BrowsingDataRemover* remover = | 1067 BrowsingDataRemover* remover = |
1068 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); | 1068 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); |
1069 TestStoragePartition storage_partition; | 1069 TestStoragePartition storage_partition; |
1070 remover->OverrideStoragePartitionForTesting(&storage_partition); | 1070 remover->OverrideStoragePartitionForTesting(&storage_partition); |
1071 | 1071 |
1072 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); | 1072 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); |
1073 | 1073 |
1074 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 1074 BrowsingDataRemoverCompletionObserver completion_observer(remover); |
1075 remover->RemoveImpl(BrowsingDataRemover::Period(period), remove_mask, | 1075 remover->RemoveImpl(Period(period), remove_mask, filter_builder, |
1076 filter_builder, BrowsingDataHelper::UNPROTECTED_WEB); | 1076 BrowsingDataHelper::UNPROTECTED_WEB); |
1077 completion_observer.BlockUntilCompletion(); | 1077 completion_observer.BlockUntilCompletion(); |
1078 | 1078 |
1079 // Save so we can verify later. | 1079 // Save so we can verify later. |
1080 storage_partition_removal_data_ = | 1080 storage_partition_removal_data_ = |
1081 storage_partition.GetStoragePartitionRemovalData(); | 1081 storage_partition.GetStoragePartitionRemovalData(); |
1082 } | 1082 } |
1083 | 1083 |
1084 TestingProfile* GetProfile() { | 1084 TestingProfile* GetProfile() { |
1085 return profile_.get(); | 1085 return profile_.get(); |
1086 } | 1086 } |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1164 | 1164 |
1165 // Needed to mock out DomainReliabilityService, even for unrelated tests. | 1165 // Needed to mock out DomainReliabilityService, even for unrelated tests. |
1166 ClearDomainReliabilityTester clear_domain_reliability_tester_; | 1166 ClearDomainReliabilityTester clear_domain_reliability_tester_; |
1167 | 1167 |
1168 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest); | 1168 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest); |
1169 }; | 1169 }; |
1170 | 1170 |
1171 // Tests --------------------------------------------------------------------- | 1171 // Tests --------------------------------------------------------------------- |
1172 | 1172 |
1173 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { | 1173 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { |
1174 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1174 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
1175 BrowsingDataRemover::REMOVE_COOKIES, | |
1176 false); | 1175 false); |
1177 | 1176 |
1178 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1177 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1179 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1178 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1180 | 1179 |
1181 // Verify that storage partition was instructed to remove the cookies. | 1180 // Verify that storage partition was instructed to remove the cookies. |
1182 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1181 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1183 EXPECT_EQ(removal_data.remove_mask, | 1182 EXPECT_EQ(removal_data.remove_mask, |
1184 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 1183 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
1185 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1184 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1186 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1185 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1187 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1186 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1188 } | 1187 } |
1189 | 1188 |
1190 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) { | 1189 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) { |
1191 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1190 BlockUntilBrowsingDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_COOKIES, |
1192 BrowsingDataRemover::REMOVE_COOKIES, | |
1193 false); | 1191 false); |
1194 | 1192 |
1195 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1193 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1196 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1194 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1197 | 1195 |
1198 // Verify that storage partition was instructed to remove the cookies. | 1196 // Verify that storage partition was instructed to remove the cookies. |
1199 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1197 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1200 EXPECT_EQ(removal_data.remove_mask, | 1198 EXPECT_EQ(removal_data.remove_mask, |
1201 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 1199 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
1202 // Removing with time period other than EVERYTHING should not clear | 1200 // Removing with time period other than EVERYTHING should not clear |
1203 // persistent storage data. | 1201 // persistent storage data. |
1204 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1202 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1205 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 1203 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
1206 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1204 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1207 } | 1205 } |
1208 | 1206 |
1209 TEST_F(BrowsingDataRemoverTest, RemoveCookiesDomainBlacklist) { | 1207 TEST_F(BrowsingDataRemoverTest, RemoveCookiesDomainBlacklist) { |
1210 RegistrableDomainFilterBuilder filter( | 1208 RegistrableDomainFilterBuilder filter( |
1211 RegistrableDomainFilterBuilder::BLACKLIST); | 1209 RegistrableDomainFilterBuilder::BLACKLIST); |
1212 filter.AddRegisterableDomain(kTestRegisterableDomain1); | 1210 filter.AddRegisterableDomain(kTestRegisterableDomain1); |
1213 filter.AddRegisterableDomain(kTestRegisterableDomain3); | 1211 filter.AddRegisterableDomain(kTestRegisterableDomain3); |
1214 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1212 BlockUntilOriginDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_COOKIES, |
1215 BrowsingDataRemover::REMOVE_COOKIES, filter); | 1213 filter); |
1216 | 1214 |
1217 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1215 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1218 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1216 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1219 | 1217 |
1220 // Verify that storage partition was instructed to remove the cookies. | 1218 // Verify that storage partition was instructed to remove the cookies. |
1221 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1219 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1222 EXPECT_EQ(removal_data.remove_mask, | 1220 EXPECT_EQ(removal_data.remove_mask, |
1223 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 1221 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
1224 // Removing with time period other than EVERYTHING should not clear | 1222 // Removing with time period other than EVERYTHING should not clear |
1225 // persistent storage data. | 1223 // persistent storage data. |
(...skipping 13 matching lines...) Expand all Loading... |
1239 // scheme. | 1237 // scheme. |
1240 EXPECT_FALSE(removal_data.cookie_matcher.Run(CreateCookieWithHost(kOrigin4))); | 1238 EXPECT_FALSE(removal_data.cookie_matcher.Run(CreateCookieWithHost(kOrigin4))); |
1241 } | 1239 } |
1242 | 1240 |
1243 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) { | 1241 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) { |
1244 RemoveSafeBrowsingCookieTester tester; | 1242 RemoveSafeBrowsingCookieTester tester; |
1245 | 1243 |
1246 tester.AddCookie(); | 1244 tester.AddCookie(); |
1247 ASSERT_TRUE(tester.ContainsCookie()); | 1245 ASSERT_TRUE(tester.ContainsCookie()); |
1248 | 1246 |
1249 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1247 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
1250 BrowsingDataRemover::REMOVE_COOKIES, false); | 1248 false); |
1251 | 1249 |
1252 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1250 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1253 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1251 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1254 EXPECT_FALSE(tester.ContainsCookie()); | 1252 EXPECT_FALSE(tester.ContainsCookie()); |
1255 } | 1253 } |
1256 | 1254 |
1257 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) { | 1255 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) { |
1258 RemoveSafeBrowsingCookieTester tester; | 1256 RemoveSafeBrowsingCookieTester tester; |
1259 | 1257 |
1260 tester.AddCookie(); | 1258 tester.AddCookie(); |
1261 ASSERT_TRUE(tester.ContainsCookie()); | 1259 ASSERT_TRUE(tester.ContainsCookie()); |
1262 | 1260 |
1263 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1261 BlockUntilBrowsingDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_COOKIES, |
1264 BrowsingDataRemover::REMOVE_COOKIES, false); | 1262 false); |
1265 | 1263 |
1266 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1264 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1267 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1265 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1268 // Removing with time period other than EVERYTHING should not clear safe | 1266 // Removing with time period other than EVERYTHING should not clear safe |
1269 // browsing cookies. | 1267 // browsing cookies. |
1270 EXPECT_TRUE(tester.ContainsCookie()); | 1268 EXPECT_TRUE(tester.ContainsCookie()); |
1271 } | 1269 } |
1272 | 1270 |
1273 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForeverWithPredicate) { | 1271 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForeverWithPredicate) { |
1274 RemoveSafeBrowsingCookieTester tester; | 1272 RemoveSafeBrowsingCookieTester tester; |
1275 | 1273 |
1276 tester.AddCookie(); | 1274 tester.AddCookie(); |
1277 ASSERT_TRUE(tester.ContainsCookie()); | 1275 ASSERT_TRUE(tester.ContainsCookie()); |
1278 RegistrableDomainFilterBuilder filter( | 1276 RegistrableDomainFilterBuilder filter( |
1279 RegistrableDomainFilterBuilder::BLACKLIST); | 1277 RegistrableDomainFilterBuilder::BLACKLIST); |
1280 filter.AddRegisterableDomain(kTestRegisterableDomain1); | 1278 filter.AddRegisterableDomain(kTestRegisterableDomain1); |
1281 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 1279 BlockUntilOriginDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
1282 BrowsingDataRemover::REMOVE_COOKIES, filter); | 1280 filter); |
1283 | 1281 |
1284 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1282 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
1285 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1283 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1286 EXPECT_TRUE(tester.ContainsCookie()); | 1284 EXPECT_TRUE(tester.ContainsCookie()); |
1287 | 1285 |
1288 RegistrableDomainFilterBuilder filter2( | 1286 RegistrableDomainFilterBuilder filter2( |
1289 RegistrableDomainFilterBuilder::WHITELIST); | 1287 RegistrableDomainFilterBuilder::WHITELIST); |
1290 filter2.AddRegisterableDomain(kTestRegisterableDomain1); | 1288 filter2.AddRegisterableDomain(kTestRegisterableDomain1); |
1291 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 1289 BlockUntilOriginDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
1292 BrowsingDataRemover::REMOVE_COOKIES, filter2); | 1290 filter2); |
1293 EXPECT_FALSE(tester.ContainsCookie()); | 1291 EXPECT_FALSE(tester.ContainsCookie()); |
1294 } | 1292 } |
1295 | 1293 |
1296 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDForever) { | 1294 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDForever) { |
1297 RemoveChannelIDTester tester(GetProfile()); | 1295 RemoveChannelIDTester tester(GetProfile()); |
1298 | 1296 |
1299 tester.AddChannelID(kTestOrigin1); | 1297 tester.AddChannelID(kTestOrigin1); |
1300 EXPECT_EQ(0, tester.ssl_config_changed_count()); | 1298 EXPECT_EQ(0, tester.ssl_config_changed_count()); |
1301 EXPECT_EQ(1, tester.ChannelIDCount()); | 1299 EXPECT_EQ(1, tester.ChannelIDCount()); |
1302 | 1300 |
1303 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1301 BlockUntilBrowsingDataRemoved(EVERYTHING, |
1304 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); | 1302 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); |
1305 | 1303 |
1306 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); | 1304 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); |
1307 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1305 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1308 EXPECT_EQ(1, tester.ssl_config_changed_count()); | 1306 EXPECT_EQ(1, tester.ssl_config_changed_count()); |
1309 EXPECT_EQ(0, tester.ChannelIDCount()); | 1307 EXPECT_EQ(0, tester.ChannelIDCount()); |
1310 } | 1308 } |
1311 | 1309 |
1312 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDLastHour) { | 1310 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDLastHour) { |
1313 RemoveChannelIDTester tester(GetProfile()); | 1311 RemoveChannelIDTester tester(GetProfile()); |
1314 | 1312 |
1315 base::Time now = base::Time::Now(); | 1313 base::Time now = base::Time::Now(); |
1316 tester.AddChannelID(kTestOrigin1); | 1314 tester.AddChannelID(kTestOrigin1); |
1317 tester.AddChannelIDWithTimes(kTestOrigin2, | 1315 tester.AddChannelIDWithTimes(kTestOrigin2, |
1318 now - base::TimeDelta::FromHours(2)); | 1316 now - base::TimeDelta::FromHours(2)); |
1319 EXPECT_EQ(0, tester.ssl_config_changed_count()); | 1317 EXPECT_EQ(0, tester.ssl_config_changed_count()); |
1320 EXPECT_EQ(2, tester.ChannelIDCount()); | 1318 EXPECT_EQ(2, tester.ChannelIDCount()); |
1321 | 1319 |
1322 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1320 BlockUntilBrowsingDataRemoved(LAST_HOUR, |
1323 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); | 1321 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); |
1324 | 1322 |
1325 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); | 1323 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); |
1326 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1324 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1327 EXPECT_EQ(1, tester.ssl_config_changed_count()); | 1325 EXPECT_EQ(1, tester.ssl_config_changed_count()); |
1328 ASSERT_EQ(1, tester.ChannelIDCount()); | 1326 ASSERT_EQ(1, tester.ChannelIDCount()); |
1329 net::ChannelIDStore::ChannelIDList channel_ids; | 1327 net::ChannelIDStore::ChannelIDList channel_ids; |
1330 tester.GetChannelIDList(&channel_ids); | 1328 tester.GetChannelIDList(&channel_ids); |
1331 ASSERT_EQ(1U, channel_ids.size()); | 1329 ASSERT_EQ(1U, channel_ids.size()); |
1332 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); | 1330 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); |
1333 } | 1331 } |
1334 | 1332 |
1335 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDsForServerIdentifiers) { | 1333 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDsForServerIdentifiers) { |
1336 RemoveChannelIDTester tester(GetProfile()); | 1334 RemoveChannelIDTester tester(GetProfile()); |
1337 | 1335 |
1338 tester.AddChannelID(kTestRegisterableDomain1); | 1336 tester.AddChannelID(kTestRegisterableDomain1); |
1339 tester.AddChannelID(kTestRegisterableDomain3); | 1337 tester.AddChannelID(kTestRegisterableDomain3); |
1340 EXPECT_EQ(2, tester.ChannelIDCount()); | 1338 EXPECT_EQ(2, tester.ChannelIDCount()); |
1341 | 1339 |
1342 RegistrableDomainFilterBuilder filter_builder( | 1340 RegistrableDomainFilterBuilder filter_builder( |
1343 RegistrableDomainFilterBuilder::WHITELIST); | 1341 RegistrableDomainFilterBuilder::WHITELIST); |
1344 filter_builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1342 filter_builder.AddRegisterableDomain(kTestRegisterableDomain1); |
1345 | 1343 |
1346 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 1344 BlockUntilOriginDataRemoved( |
1347 BrowsingDataRemover::REMOVE_CHANNEL_IDS, filter_builder); | 1345 EVERYTHING, BrowsingDataRemover::REMOVE_CHANNEL_IDS, filter_builder); |
1348 | 1346 |
1349 EXPECT_EQ(1, tester.ChannelIDCount()); | 1347 EXPECT_EQ(1, tester.ChannelIDCount()); |
1350 net::ChannelIDStore::ChannelIDList channel_ids; | 1348 net::ChannelIDStore::ChannelIDList channel_ids; |
1351 tester.GetChannelIDList(&channel_ids); | 1349 tester.GetChannelIDList(&channel_ids); |
1352 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); | 1350 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); |
1353 } | 1351 } |
1354 | 1352 |
1355 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) { | 1353 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) { |
1356 #if defined(ENABLE_EXTENSIONS) | 1354 #if defined(ENABLE_EXTENSIONS) |
1357 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1355 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1358 // Protect kOrigin1. | 1356 // Protect kOrigin1. |
1359 policy->AddProtected(kOrigin1.GetOrigin()); | 1357 policy->AddProtected(kOrigin1.GetOrigin()); |
1360 #endif | 1358 #endif |
1361 | 1359 |
1362 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1360 BlockUntilBrowsingDataRemoved( |
1363 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1361 EVERYTHING, BrowsingDataRemover::REMOVE_LOCAL_STORAGE, false); |
1364 false); | |
1365 | 1362 |
1366 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1363 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
1367 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1364 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1368 | 1365 |
1369 // Verify that storage partition was instructed to remove the data correctly. | 1366 // Verify that storage partition was instructed to remove the data correctly. |
1370 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1367 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1371 EXPECT_EQ(removal_data.remove_mask, | 1368 EXPECT_EQ(removal_data.remove_mask, |
1372 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 1369 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
1373 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1370 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1374 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1371 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1375 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1372 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1376 | 1373 |
1377 // Check origin matcher. | 1374 // Check origin matcher. |
1378 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 1375 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), |
1379 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1376 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1380 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1377 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1381 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1378 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1382 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 1379 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
1383 } | 1380 } |
1384 | 1381 |
1385 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) { | 1382 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) { |
1386 #if defined(ENABLE_EXTENSIONS) | 1383 #if defined(ENABLE_EXTENSIONS) |
1387 // Protect kOrigin1. | 1384 // Protect kOrigin1. |
1388 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1385 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1389 policy->AddProtected(kOrigin1.GetOrigin()); | 1386 policy->AddProtected(kOrigin1.GetOrigin()); |
1390 #endif | 1387 #endif |
1391 | 1388 |
1392 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1389 BlockUntilBrowsingDataRemoved( |
1393 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1390 EVERYTHING, BrowsingDataRemover::REMOVE_LOCAL_STORAGE, true); |
1394 true); | |
1395 | 1391 |
1396 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1392 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
1397 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB | | 1393 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB | |
1398 BrowsingDataHelper::PROTECTED_WEB, GetOriginTypeMask()); | 1394 BrowsingDataHelper::PROTECTED_WEB, GetOriginTypeMask()); |
1399 | 1395 |
1400 // Verify that storage partition was instructed to remove the data correctly. | 1396 // Verify that storage partition was instructed to remove the data correctly. |
1401 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1397 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1402 EXPECT_EQ(removal_data.remove_mask, | 1398 EXPECT_EQ(removal_data.remove_mask, |
1403 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 1399 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
1404 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1400 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1405 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1401 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1406 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1402 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1407 | 1403 |
1408 // Check origin matcher all http origin will match since we specified | 1404 // Check origin matcher all http origin will match since we specified |
1409 // both protected and unprotected. | 1405 // both protected and unprotected. |
1410 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1406 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1411 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1407 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1412 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1408 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1413 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 1409 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
1414 } | 1410 } |
1415 | 1411 |
1416 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) { | 1412 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) { |
1417 #if defined(ENABLE_EXTENSIONS) | 1413 #if defined(ENABLE_EXTENSIONS) |
1418 CreateMockPolicy(); | 1414 CreateMockPolicy(); |
1419 #endif | 1415 #endif |
1420 | 1416 |
1421 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK, | 1417 BlockUntilBrowsingDataRemoved( |
1422 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1418 LAST_WEEK, BrowsingDataRemover::REMOVE_LOCAL_STORAGE, false); |
1423 false); | |
1424 | 1419 |
1425 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1420 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
1426 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1421 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1427 | 1422 |
1428 // Verify that storage partition was instructed to remove the data correctly. | 1423 // Verify that storage partition was instructed to remove the data correctly. |
1429 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1424 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1430 EXPECT_EQ(removal_data.remove_mask, | 1425 EXPECT_EQ(removal_data.remove_mask, |
1431 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 1426 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
1432 // Persistent storage won't be deleted. | 1427 // Persistent storage won't be deleted. |
1433 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1428 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1434 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 1429 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
1435 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1430 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1436 | 1431 |
1437 // Check origin matcher. | 1432 // Check origin matcher. |
1438 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1433 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1439 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1434 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1440 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1435 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1441 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 1436 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
1442 } | 1437 } |
1443 | 1438 |
1444 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { | 1439 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { |
1445 RemoveHistoryTester tester; | 1440 RemoveHistoryTester tester; |
1446 ASSERT_TRUE(tester.Init(GetProfile())); | 1441 ASSERT_TRUE(tester.Init(GetProfile())); |
1447 | 1442 |
1448 tester.AddHistory(kOrigin1, base::Time::Now()); | 1443 tester.AddHistory(kOrigin1, base::Time::Now()); |
1449 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1444 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1450 | 1445 |
1451 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1446 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_HISTORY, |
1452 BrowsingDataRemover::REMOVE_HISTORY, false); | 1447 false); |
1453 | 1448 |
1454 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1449 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
1455 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1450 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1456 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1451 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
1457 } | 1452 } |
1458 | 1453 |
1459 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { | 1454 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { |
1460 RemoveHistoryTester tester; | 1455 RemoveHistoryTester tester; |
1461 ASSERT_TRUE(tester.Init(GetProfile())); | 1456 ASSERT_TRUE(tester.Init(GetProfile())); |
1462 | 1457 |
1463 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1458 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
1464 | 1459 |
1465 tester.AddHistory(kOrigin1, base::Time::Now()); | 1460 tester.AddHistory(kOrigin1, base::Time::Now()); |
1466 tester.AddHistory(kOrigin2, two_hours_ago); | 1461 tester.AddHistory(kOrigin2, two_hours_ago); |
1467 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1462 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1468 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1463 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1469 | 1464 |
1470 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1465 BlockUntilBrowsingDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_HISTORY, |
1471 BrowsingDataRemover::REMOVE_HISTORY, false); | 1466 false); |
1472 | 1467 |
1473 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1468 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
1474 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1469 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1475 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1470 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
1476 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1471 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1477 } | 1472 } |
1478 | 1473 |
1479 // This should crash (DCHECK) in Debug, but death tests don't work properly | 1474 // This should crash (DCHECK) in Debug, but death tests don't work properly |
1480 // here. | 1475 // here. |
1481 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) | 1476 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) |
1482 TEST_F(BrowsingDataRemoverTest, RemoveHistoryProhibited) { | 1477 TEST_F(BrowsingDataRemoverTest, RemoveHistoryProhibited) { |
1483 RemoveHistoryTester tester; | 1478 RemoveHistoryTester tester; |
1484 ASSERT_TRUE(tester.Init(GetProfile())); | 1479 ASSERT_TRUE(tester.Init(GetProfile())); |
1485 PrefService* prefs = GetProfile()->GetPrefs(); | 1480 PrefService* prefs = GetProfile()->GetPrefs(); |
1486 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 1481 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
1487 | 1482 |
1488 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1483 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
1489 | 1484 |
1490 tester.AddHistory(kOrigin1, base::Time::Now()); | 1485 tester.AddHistory(kOrigin1, base::Time::Now()); |
1491 tester.AddHistory(kOrigin2, two_hours_ago); | 1486 tester.AddHistory(kOrigin2, two_hours_ago); |
1492 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1487 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1493 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1488 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1494 | 1489 |
1495 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1490 BlockUntilBrowsingDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_HISTORY, |
1496 BrowsingDataRemover::REMOVE_HISTORY, false); | 1491 false); |
1497 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1492 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
1498 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1493 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1499 | 1494 |
1500 // Nothing should have been deleted. | 1495 // Nothing should have been deleted. |
1501 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1496 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
1502 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1497 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
1503 } | 1498 } |
1504 #endif | 1499 #endif |
1505 | 1500 |
1506 TEST_F(BrowsingDataRemoverTest, RemoveMultipleTypes) { | 1501 TEST_F(BrowsingDataRemoverTest, RemoveMultipleTypes) { |
1507 // Add some history. | 1502 // Add some history. |
1508 RemoveHistoryTester history_tester; | 1503 RemoveHistoryTester history_tester; |
1509 ASSERT_TRUE(history_tester.Init(GetProfile())); | 1504 ASSERT_TRUE(history_tester.Init(GetProfile())); |
1510 history_tester.AddHistory(kOrigin1, base::Time::Now()); | 1505 history_tester.AddHistory(kOrigin1, base::Time::Now()); |
1511 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1506 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
1512 | 1507 |
1513 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | | 1508 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | |
1514 BrowsingDataRemover::REMOVE_COOKIES; | 1509 BrowsingDataRemover::REMOVE_COOKIES; |
1515 | 1510 |
1516 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1511 BlockUntilBrowsingDataRemoved(EVERYTHING, removal_mask, false); |
1517 removal_mask, false); | |
1518 | 1512 |
1519 EXPECT_EQ(removal_mask, GetRemovalMask()); | 1513 EXPECT_EQ(removal_mask, GetRemovalMask()); |
1520 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1514 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1521 EXPECT_FALSE(history_tester.HistoryContainsURL(kOrigin1)); | 1515 EXPECT_FALSE(history_tester.HistoryContainsURL(kOrigin1)); |
1522 | 1516 |
1523 // The cookie would be deleted throught the StorageParition, check if the | 1517 // The cookie would be deleted throught the StorageParition, check if the |
1524 // partition was requested to remove cookie. | 1518 // partition was requested to remove cookie. |
1525 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1519 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1526 EXPECT_EQ(removal_data.remove_mask, | 1520 EXPECT_EQ(removal_data.remove_mask, |
1527 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 1521 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
(...skipping 10 matching lines...) Expand all Loading... |
1538 | 1532 |
1539 // Add some history. | 1533 // Add some history. |
1540 RemoveHistoryTester history_tester; | 1534 RemoveHistoryTester history_tester; |
1541 ASSERT_TRUE(history_tester.Init(GetProfile())); | 1535 ASSERT_TRUE(history_tester.Init(GetProfile())); |
1542 history_tester.AddHistory(kOrigin1, base::Time::Now()); | 1536 history_tester.AddHistory(kOrigin1, base::Time::Now()); |
1543 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1537 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
1544 | 1538 |
1545 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | | 1539 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | |
1546 BrowsingDataRemover::REMOVE_COOKIES; | 1540 BrowsingDataRemover::REMOVE_COOKIES; |
1547 | 1541 |
1548 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, | 1542 BlockUntilBrowsingDataRemoved(LAST_HOUR, removal_mask, false); |
1549 removal_mask, false); | |
1550 EXPECT_EQ(removal_mask, GetRemovalMask()); | 1543 EXPECT_EQ(removal_mask, GetRemovalMask()); |
1551 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1544 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1552 | 1545 |
1553 // 1/2. History should remain. | 1546 // 1/2. History should remain. |
1554 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1547 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
1555 | 1548 |
1556 // 2/2. The cookie(s) would be deleted throught the StorageParition, check if | 1549 // 2/2. The cookie(s) would be deleted throught the StorageParition, check if |
1557 // the partition was requested to remove cookie. | 1550 // the partition was requested to remove cookie. |
1558 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1551 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1559 EXPECT_EQ(removal_data.remove_mask, | 1552 EXPECT_EQ(removal_data.remove_mask, |
1560 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 1553 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
1561 // Persistent storage won't be deleted, since EVERYTHING was not specified. | 1554 // Persistent storage won't be deleted, since EVERYTHING was not specified. |
1562 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1555 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1563 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 1556 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
1564 } | 1557 } |
1565 #endif | 1558 #endif |
1566 | 1559 |
1567 // Test that clearing history deletes favicons not associated with bookmarks. | 1560 // Test that clearing history deletes favicons not associated with bookmarks. |
1568 TEST_F(BrowsingDataRemoverTest, RemoveFaviconsForever) { | 1561 TEST_F(BrowsingDataRemoverTest, RemoveFaviconsForever) { |
1569 GURL page_url("http://a"); | 1562 GURL page_url("http://a"); |
1570 | 1563 |
1571 RemoveFaviconTester favicon_tester; | 1564 RemoveFaviconTester favicon_tester; |
1572 ASSERT_TRUE(favicon_tester.Init(GetProfile())); | 1565 ASSERT_TRUE(favicon_tester.Init(GetProfile())); |
1573 favicon_tester.VisitAndAddFavicon(page_url); | 1566 favicon_tester.VisitAndAddFavicon(page_url); |
1574 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url)); | 1567 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url)); |
1575 | 1568 |
1576 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1569 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_HISTORY, |
1577 BrowsingDataRemover::REMOVE_HISTORY, false); | 1570 false); |
1578 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1571 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
1579 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url)); | 1572 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url)); |
1580 } | 1573 } |
1581 | 1574 |
1582 // Test that a bookmark's favicon is expired and not deleted when clearing | 1575 // Test that a bookmark's favicon is expired and not deleted when clearing |
1583 // history. Expiring the favicon causes the bookmark's favicon to be updated | 1576 // history. Expiring the favicon causes the bookmark's favicon to be updated |
1584 // when the user next visits the bookmarked page. Expiring the bookmark's | 1577 // when the user next visits the bookmarked page. Expiring the bookmark's |
1585 // favicon is useful when the bookmark's favicon becomes incorrect (See | 1578 // favicon is useful when the bookmark's favicon becomes incorrect (See |
1586 // crbug.com/474421 for a sample bug which causes this). | 1579 // crbug.com/474421 for a sample bug which causes this). |
1587 TEST_F(BrowsingDataRemoverTest, ExpireBookmarkFavicons) { | 1580 TEST_F(BrowsingDataRemoverTest, ExpireBookmarkFavicons) { |
1588 GURL bookmarked_page("http://a"); | 1581 GURL bookmarked_page("http://a"); |
1589 | 1582 |
1590 TestingProfile* profile = GetProfile(); | 1583 TestingProfile* profile = GetProfile(); |
1591 profile->CreateBookmarkModel(true); | 1584 profile->CreateBookmarkModel(true); |
1592 bookmarks::BookmarkModel* bookmark_model = | 1585 bookmarks::BookmarkModel* bookmark_model = |
1593 BookmarkModelFactory::GetForProfile(profile); | 1586 BookmarkModelFactory::GetForProfile(profile); |
1594 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); | 1587 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); |
1595 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, | 1588 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, |
1596 base::ASCIIToUTF16("a"), bookmarked_page); | 1589 base::ASCIIToUTF16("a"), bookmarked_page); |
1597 | 1590 |
1598 RemoveFaviconTester favicon_tester; | 1591 RemoveFaviconTester favicon_tester; |
1599 ASSERT_TRUE(favicon_tester.Init(GetProfile())); | 1592 ASSERT_TRUE(favicon_tester.Init(GetProfile())); |
1600 favicon_tester.VisitAndAddFavicon(bookmarked_page); | 1593 favicon_tester.VisitAndAddFavicon(bookmarked_page); |
1601 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); | 1594 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); |
1602 | 1595 |
1603 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 1596 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_HISTORY, |
1604 BrowsingDataRemover::REMOVE_HISTORY, false); | 1597 false); |
1605 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1598 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
1606 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); | 1599 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); |
1607 } | 1600 } |
1608 | 1601 |
1609 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { | 1602 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { |
1610 BlockUntilBrowsingDataRemoved( | 1603 BlockUntilBrowsingDataRemoved( |
1611 BrowsingDataRemover::EVERYTHING, | 1604 EVERYTHING, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1612 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1605 BrowsingDataRemover::REMOVE_WEBSQL | |
1613 BrowsingDataRemover::REMOVE_WEBSQL | | 1606 BrowsingDataRemover::REMOVE_APPCACHE | |
1614 BrowsingDataRemover::REMOVE_APPCACHE | | 1607 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1615 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1608 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1616 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1609 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1617 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1618 false); | 1610 false); |
1619 | 1611 |
1620 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1612 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1621 BrowsingDataRemover::REMOVE_WEBSQL | | 1613 BrowsingDataRemover::REMOVE_WEBSQL | |
1622 BrowsingDataRemover::REMOVE_APPCACHE | | 1614 BrowsingDataRemover::REMOVE_APPCACHE | |
1623 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1615 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1624 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1616 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1625 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1617 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1626 GetRemovalMask()); | 1618 GetRemovalMask()); |
1627 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1619 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 10 matching lines...) Expand all Loading... |
1638 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1630 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1639 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1631 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1640 } | 1632 } |
1641 | 1633 |
1642 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { | 1634 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { |
1643 #if defined(ENABLE_EXTENSIONS) | 1635 #if defined(ENABLE_EXTENSIONS) |
1644 CreateMockPolicy(); | 1636 CreateMockPolicy(); |
1645 #endif | 1637 #endif |
1646 | 1638 |
1647 BlockUntilBrowsingDataRemoved( | 1639 BlockUntilBrowsingDataRemoved( |
1648 BrowsingDataRemover::EVERYTHING, | 1640 EVERYTHING, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1649 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1641 BrowsingDataRemover::REMOVE_WEBSQL | |
1650 BrowsingDataRemover::REMOVE_WEBSQL | | 1642 BrowsingDataRemover::REMOVE_APPCACHE | |
1651 BrowsingDataRemover::REMOVE_APPCACHE | | 1643 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1652 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1644 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1653 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1645 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1654 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1655 false); | 1646 false); |
1656 | 1647 |
1657 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1648 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1658 BrowsingDataRemover::REMOVE_WEBSQL | | 1649 BrowsingDataRemover::REMOVE_WEBSQL | |
1659 BrowsingDataRemover::REMOVE_APPCACHE | | 1650 BrowsingDataRemover::REMOVE_APPCACHE | |
1660 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1651 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1661 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1652 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1662 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1653 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1663 GetRemovalMask()); | 1654 GetRemovalMask()); |
1664 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1655 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 17 matching lines...) Expand all Loading... |
1682 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1673 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1683 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1674 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1684 } | 1675 } |
1685 | 1676 |
1686 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { | 1677 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { |
1687 #if defined(ENABLE_EXTENSIONS) | 1678 #if defined(ENABLE_EXTENSIONS) |
1688 CreateMockPolicy(); | 1679 CreateMockPolicy(); |
1689 #endif | 1680 #endif |
1690 | 1681 |
1691 BlockUntilBrowsingDataRemoved( | 1682 BlockUntilBrowsingDataRemoved( |
1692 BrowsingDataRemover::EVERYTHING, | 1683 EVERYTHING, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1693 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1684 BrowsingDataRemover::REMOVE_WEBSQL | |
1694 BrowsingDataRemover::REMOVE_WEBSQL | | 1685 BrowsingDataRemover::REMOVE_APPCACHE | |
1695 BrowsingDataRemover::REMOVE_APPCACHE | | 1686 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1696 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1687 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1697 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1688 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1698 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1699 false); | 1689 false); |
1700 | 1690 |
1701 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1691 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1702 BrowsingDataRemover::REMOVE_WEBSQL | | 1692 BrowsingDataRemover::REMOVE_WEBSQL | |
1703 BrowsingDataRemover::REMOVE_APPCACHE | | 1693 BrowsingDataRemover::REMOVE_APPCACHE | |
1704 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1694 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1705 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1695 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1706 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1696 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1707 GetRemovalMask()); | 1697 GetRemovalMask()); |
1708 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1698 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 17 matching lines...) Expand all Loading... |
1726 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1716 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1727 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1717 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1728 } | 1718 } |
1729 | 1719 |
1730 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { | 1720 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { |
1731 #if defined(ENABLE_EXTENSIONS) | 1721 #if defined(ENABLE_EXTENSIONS) |
1732 CreateMockPolicy(); | 1722 CreateMockPolicy(); |
1733 #endif | 1723 #endif |
1734 | 1724 |
1735 BlockUntilBrowsingDataRemoved( | 1725 BlockUntilBrowsingDataRemoved( |
1736 BrowsingDataRemover::EVERYTHING, | 1726 EVERYTHING, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1737 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1727 BrowsingDataRemover::REMOVE_WEBSQL | |
1738 BrowsingDataRemover::REMOVE_WEBSQL | | 1728 BrowsingDataRemover::REMOVE_APPCACHE | |
1739 BrowsingDataRemover::REMOVE_APPCACHE | | 1729 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1740 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1730 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1741 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1731 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1742 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1743 false); | 1732 false); |
1744 | 1733 |
1745 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1734 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1746 BrowsingDataRemover::REMOVE_WEBSQL | | 1735 BrowsingDataRemover::REMOVE_WEBSQL | |
1747 BrowsingDataRemover::REMOVE_APPCACHE | | 1736 BrowsingDataRemover::REMOVE_APPCACHE | |
1748 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1737 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1749 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1738 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1750 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1739 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1751 GetRemovalMask()); | 1740 GetRemovalMask()); |
1752 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1741 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 16 matching lines...) Expand all Loading... |
1769 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1758 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1770 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1759 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1771 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1760 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1772 } | 1761 } |
1773 | 1762 |
1774 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) { | 1763 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) { |
1775 RegistrableDomainFilterBuilder builder( | 1764 RegistrableDomainFilterBuilder builder( |
1776 RegistrableDomainFilterBuilder::WHITELIST); | 1765 RegistrableDomainFilterBuilder::WHITELIST); |
1777 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1766 builder.AddRegisterableDomain(kTestRegisterableDomain1); |
1778 // Remove Origin 1. | 1767 // Remove Origin 1. |
1779 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 1768 BlockUntilOriginDataRemoved(EVERYTHING, |
1780 BrowsingDataRemover::REMOVE_APPCACHE | | 1769 BrowsingDataRemover::REMOVE_APPCACHE | |
1781 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1770 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1782 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1771 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1783 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1772 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1784 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1773 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1785 BrowsingDataRemover::REMOVE_WEBSQL, | 1774 BrowsingDataRemover::REMOVE_WEBSQL, |
1786 builder); | 1775 builder); |
1787 | 1776 |
1788 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1777 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
1789 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1778 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
(...skipping 17 matching lines...) Expand all Loading... |
1807 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1796 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1808 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1797 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1809 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1798 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1810 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1799 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1811 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1800 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1812 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy())); | 1801 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy())); |
1813 } | 1802 } |
1814 | 1803 |
1815 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { | 1804 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { |
1816 BlockUntilBrowsingDataRemoved( | 1805 BlockUntilBrowsingDataRemoved( |
1817 BrowsingDataRemover::LAST_HOUR, | 1806 LAST_HOUR, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1818 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1807 BrowsingDataRemover::REMOVE_WEBSQL | |
1819 BrowsingDataRemover::REMOVE_WEBSQL | | 1808 BrowsingDataRemover::REMOVE_APPCACHE | |
1820 BrowsingDataRemover::REMOVE_APPCACHE | | 1809 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1821 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1810 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1822 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1811 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1823 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1824 false); | 1812 false); |
1825 | 1813 |
1826 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1814 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1827 BrowsingDataRemover::REMOVE_WEBSQL | | 1815 BrowsingDataRemover::REMOVE_WEBSQL | |
1828 BrowsingDataRemover::REMOVE_APPCACHE | | 1816 BrowsingDataRemover::REMOVE_APPCACHE | |
1829 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1817 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1830 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1818 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1831 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1819 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1832 GetRemovalMask()); | 1820 GetRemovalMask()); |
1833 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1821 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 13 matching lines...) Expand all Loading... |
1847 // beginning of time. | 1835 // beginning of time. |
1848 uint32_t expected_quota_mask = | 1836 uint32_t expected_quota_mask = |
1849 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; | 1837 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; |
1850 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); | 1838 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); |
1851 // Check removal begin time. | 1839 // Check removal begin time. |
1852 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1840 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1853 } | 1841 } |
1854 | 1842 |
1855 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { | 1843 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { |
1856 BlockUntilBrowsingDataRemoved( | 1844 BlockUntilBrowsingDataRemoved( |
1857 BrowsingDataRemover::LAST_WEEK, | 1845 LAST_WEEK, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1858 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1846 BrowsingDataRemover::REMOVE_WEBSQL | |
1859 BrowsingDataRemover::REMOVE_WEBSQL | | 1847 BrowsingDataRemover::REMOVE_APPCACHE | |
1860 BrowsingDataRemover::REMOVE_APPCACHE | | 1848 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1861 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1849 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1862 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1850 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1863 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1864 false); | 1851 false); |
1865 | 1852 |
1866 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1853 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1867 BrowsingDataRemover::REMOVE_WEBSQL | | 1854 BrowsingDataRemover::REMOVE_WEBSQL | |
1868 BrowsingDataRemover::REMOVE_APPCACHE | | 1855 BrowsingDataRemover::REMOVE_APPCACHE | |
1869 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1856 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1870 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1857 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1871 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1858 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1872 GetRemovalMask()); | 1859 GetRemovalMask()); |
1873 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1860 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 19 matching lines...) Expand all Loading... |
1893 } | 1880 } |
1894 | 1881 |
1895 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { | 1882 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { |
1896 #if defined(ENABLE_EXTENSIONS) | 1883 #if defined(ENABLE_EXTENSIONS) |
1897 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1884 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1898 // Protect kOrigin1. | 1885 // Protect kOrigin1. |
1899 policy->AddProtected(kOrigin1.GetOrigin()); | 1886 policy->AddProtected(kOrigin1.GetOrigin()); |
1900 #endif | 1887 #endif |
1901 | 1888 |
1902 BlockUntilBrowsingDataRemoved( | 1889 BlockUntilBrowsingDataRemoved( |
1903 BrowsingDataRemover::EVERYTHING, | 1890 EVERYTHING, BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1904 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1891 BrowsingDataRemover::REMOVE_WEBSQL | |
1905 BrowsingDataRemover::REMOVE_WEBSQL | | 1892 BrowsingDataRemover::REMOVE_APPCACHE | |
1906 BrowsingDataRemover::REMOVE_APPCACHE | | 1893 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1907 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1894 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1908 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1895 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1909 BrowsingDataRemover::REMOVE_INDEXEDDB, | |
1910 false); | 1896 false); |
1911 | 1897 |
1912 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1898 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1913 BrowsingDataRemover::REMOVE_WEBSQL | | 1899 BrowsingDataRemover::REMOVE_WEBSQL | |
1914 BrowsingDataRemover::REMOVE_APPCACHE | | 1900 BrowsingDataRemover::REMOVE_APPCACHE | |
1915 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1901 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1916 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1902 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1917 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1903 BrowsingDataRemover::REMOVE_INDEXEDDB, |
1918 GetRemovalMask()); | 1904 GetRemovalMask()); |
1919 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1905 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 23 matching lines...) Expand all Loading... |
1943 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1929 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1944 // Protect kOrigin1. | 1930 // Protect kOrigin1. |
1945 policy->AddProtected(kOrigin1.GetOrigin()); | 1931 policy->AddProtected(kOrigin1.GetOrigin()); |
1946 #endif | 1932 #endif |
1947 | 1933 |
1948 RegistrableDomainFilterBuilder builder( | 1934 RegistrableDomainFilterBuilder builder( |
1949 RegistrableDomainFilterBuilder::WHITELIST); | 1935 RegistrableDomainFilterBuilder::WHITELIST); |
1950 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1936 builder.AddRegisterableDomain(kTestRegisterableDomain1); |
1951 | 1937 |
1952 // Try to remove kOrigin1. Expect failure. | 1938 // Try to remove kOrigin1. Expect failure. |
1953 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 1939 BlockUntilOriginDataRemoved(EVERYTHING, |
1954 BrowsingDataRemover::REMOVE_APPCACHE | | 1940 BrowsingDataRemover::REMOVE_APPCACHE | |
1955 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1941 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1956 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1942 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1957 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1943 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1958 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1944 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1959 BrowsingDataRemover::REMOVE_WEBSQL, | 1945 BrowsingDataRemover::REMOVE_WEBSQL, |
1960 builder); | 1946 builder); |
1961 | 1947 |
1962 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1948 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
1963 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1949 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
(...skipping 28 matching lines...) Expand all Loading... |
1992 | 1978 |
1993 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) { | 1979 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) { |
1994 #if defined(ENABLE_EXTENSIONS) | 1980 #if defined(ENABLE_EXTENSIONS) |
1995 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1981 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1996 // Protect kOrigin1. | 1982 // Protect kOrigin1. |
1997 policy->AddProtected(kOrigin1.GetOrigin()); | 1983 policy->AddProtected(kOrigin1.GetOrigin()); |
1998 #endif | 1984 #endif |
1999 | 1985 |
2000 // Try to remove kOrigin1. Expect success. | 1986 // Try to remove kOrigin1. Expect success. |
2001 BlockUntilBrowsingDataRemoved( | 1987 BlockUntilBrowsingDataRemoved( |
2002 BrowsingDataRemover::EVERYTHING, | 1988 EVERYTHING, BrowsingDataRemover::REMOVE_APPCACHE | |
2003 BrowsingDataRemover::REMOVE_APPCACHE | | 1989 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
2004 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1990 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
2005 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1991 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
2006 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1992 BrowsingDataRemover::REMOVE_INDEXEDDB | |
2007 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1993 BrowsingDataRemover::REMOVE_WEBSQL, |
2008 BrowsingDataRemover::REMOVE_WEBSQL, | |
2009 true); | 1994 true); |
2010 | 1995 |
2011 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1996 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
2012 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1997 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
2013 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1998 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
2014 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1999 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
2015 BrowsingDataRemover::REMOVE_INDEXEDDB | | 2000 BrowsingDataRemover::REMOVE_INDEXEDDB | |
2016 BrowsingDataRemover::REMOVE_WEBSQL, | 2001 BrowsingDataRemover::REMOVE_WEBSQL, |
2017 GetRemovalMask()); | 2002 GetRemovalMask()); |
2018 EXPECT_EQ(BrowsingDataHelper::PROTECTED_WEB | | 2003 EXPECT_EQ(BrowsingDataHelper::PROTECTED_WEB | |
(...skipping 18 matching lines...) Expand all Loading... |
2037 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 2022 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
2038 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 2023 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
2039 } | 2024 } |
2040 | 2025 |
2041 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { | 2026 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { |
2042 #if defined(ENABLE_EXTENSIONS) | 2027 #if defined(ENABLE_EXTENSIONS) |
2043 CreateMockPolicy(); | 2028 CreateMockPolicy(); |
2044 #endif | 2029 #endif |
2045 | 2030 |
2046 BlockUntilBrowsingDataRemoved( | 2031 BlockUntilBrowsingDataRemoved( |
2047 BrowsingDataRemover::EVERYTHING, | 2032 EVERYTHING, BrowsingDataRemover::REMOVE_APPCACHE | |
2048 BrowsingDataRemover::REMOVE_APPCACHE | | 2033 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
2049 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 2034 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
2050 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 2035 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
2051 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 2036 BrowsingDataRemover::REMOVE_INDEXEDDB | |
2052 BrowsingDataRemover::REMOVE_INDEXEDDB | | 2037 BrowsingDataRemover::REMOVE_WEBSQL, |
2053 BrowsingDataRemover::REMOVE_WEBSQL, | |
2054 false); | 2038 false); |
2055 | 2039 |
2056 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 2040 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
2057 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 2041 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
2058 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 2042 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
2059 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 2043 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
2060 BrowsingDataRemover::REMOVE_INDEXEDDB | | 2044 BrowsingDataRemover::REMOVE_INDEXEDDB | |
2061 BrowsingDataRemover::REMOVE_WEBSQL, | 2045 BrowsingDataRemover::REMOVE_WEBSQL, |
2062 GetRemovalMask()); | 2046 GetRemovalMask()); |
2063 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2047 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
(...skipping 23 matching lines...) Expand all Loading... |
2087 | 2071 |
2088 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 2072 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
2089 | 2073 |
2090 tester.AddHistory(kOrigin1, base::Time::Now()); | 2074 tester.AddHistory(kOrigin1, base::Time::Now()); |
2091 tester.AddHistory(kOrigin2, two_hours_ago); | 2075 tester.AddHistory(kOrigin2, two_hours_ago); |
2092 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 2076 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
2093 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 2077 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
2094 | 2078 |
2095 RegistrableDomainFilterBuilder builder( | 2079 RegistrableDomainFilterBuilder builder( |
2096 RegistrableDomainFilterBuilder::BLACKLIST); | 2080 RegistrableDomainFilterBuilder::BLACKLIST); |
2097 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, | 2081 BlockUntilOriginDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_HISTORY, |
2098 BrowsingDataRemover::REMOVE_HISTORY, builder); | 2082 builder); |
2099 | 2083 |
2100 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 2084 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
2101 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2085 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2102 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 2086 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
2103 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 2087 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
2104 } | 2088 } |
2105 | 2089 |
2106 // Verify that clearing autofill form data works. | 2090 // Verify that clearing autofill form data works. |
2107 TEST_F(BrowsingDataRemoverTest, AutofillRemovalLastHour) { | 2091 TEST_F(BrowsingDataRemoverTest, AutofillRemovalLastHour) { |
2108 GetProfile()->CreateWebDataService(); | 2092 GetProfile()->CreateWebDataService(); |
2109 RemoveAutofillTester tester(GetProfile()); | 2093 RemoveAutofillTester tester(GetProfile()); |
2110 | 2094 |
2111 ASSERT_FALSE(tester.HasProfile()); | 2095 ASSERT_FALSE(tester.HasProfile()); |
2112 tester.AddProfilesAndCards(); | 2096 tester.AddProfilesAndCards(); |
2113 ASSERT_TRUE(tester.HasProfile()); | 2097 ASSERT_TRUE(tester.HasProfile()); |
2114 | 2098 |
2115 BlockUntilBrowsingDataRemoved( | 2099 BlockUntilBrowsingDataRemoved(LAST_HOUR, |
2116 BrowsingDataRemover::LAST_HOUR, | 2100 BrowsingDataRemover::REMOVE_FORM_DATA, false); |
2117 BrowsingDataRemover::REMOVE_FORM_DATA, false); | |
2118 | 2101 |
2119 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); | 2102 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); |
2120 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2103 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2121 ASSERT_FALSE(tester.HasProfile()); | 2104 ASSERT_FALSE(tester.HasProfile()); |
2122 } | 2105 } |
2123 | 2106 |
2124 TEST_F(BrowsingDataRemoverTest, AutofillRemovalEverything) { | 2107 TEST_F(BrowsingDataRemoverTest, AutofillRemovalEverything) { |
2125 GetProfile()->CreateWebDataService(); | 2108 GetProfile()->CreateWebDataService(); |
2126 RemoveAutofillTester tester(GetProfile()); | 2109 RemoveAutofillTester tester(GetProfile()); |
2127 | 2110 |
2128 ASSERT_FALSE(tester.HasProfile()); | 2111 ASSERT_FALSE(tester.HasProfile()); |
2129 tester.AddProfilesAndCards(); | 2112 tester.AddProfilesAndCards(); |
2130 ASSERT_TRUE(tester.HasProfile()); | 2113 ASSERT_TRUE(tester.HasProfile()); |
2131 | 2114 |
2132 BlockUntilBrowsingDataRemoved( | 2115 BlockUntilBrowsingDataRemoved(EVERYTHING, |
2133 BrowsingDataRemover::EVERYTHING, | 2116 BrowsingDataRemover::REMOVE_FORM_DATA, false); |
2134 BrowsingDataRemover::REMOVE_FORM_DATA, false); | |
2135 | 2117 |
2136 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); | 2118 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); |
2137 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2119 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2138 ASSERT_FALSE(tester.HasProfile()); | 2120 ASSERT_FALSE(tester.HasProfile()); |
2139 } | 2121 } |
2140 | 2122 |
2141 // Verify that clearing autofill form data works. | 2123 // Verify that clearing autofill form data works. |
2142 TEST_F(BrowsingDataRemoverTest, AutofillOriginsRemovedWithHistory) { | 2124 TEST_F(BrowsingDataRemoverTest, AutofillOriginsRemovedWithHistory) { |
2143 GetProfile()->CreateWebDataService(); | 2125 GetProfile()->CreateWebDataService(); |
2144 RemoveAutofillTester tester(GetProfile()); | 2126 RemoveAutofillTester tester(GetProfile()); |
2145 | 2127 |
2146 tester.AddProfilesAndCards(); | 2128 tester.AddProfilesAndCards(); |
2147 EXPECT_FALSE(tester.HasOrigin(std::string())); | 2129 EXPECT_FALSE(tester.HasOrigin(std::string())); |
2148 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); | 2130 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); |
2149 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 2131 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
2150 | 2132 |
2151 BlockUntilBrowsingDataRemoved( | 2133 BlockUntilBrowsingDataRemoved(LAST_HOUR, BrowsingDataRemover::REMOVE_HISTORY, |
2152 BrowsingDataRemover::LAST_HOUR, | 2134 false); |
2153 BrowsingDataRemover::REMOVE_HISTORY, false); | |
2154 | 2135 |
2155 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 2136 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
2156 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2137 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2157 EXPECT_TRUE(tester.HasOrigin(std::string())); | 2138 EXPECT_TRUE(tester.HasOrigin(std::string())); |
2158 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); | 2139 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); |
2159 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 2140 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
2160 } | 2141 } |
2161 | 2142 |
2162 TEST_F(BrowsingDataRemoverTest, CompletionInhibition) { | 2143 TEST_F(BrowsingDataRemoverTest, CompletionInhibition) { |
2163 // The |completion_inhibitor| on the stack should prevent removal sessions | 2144 // The |completion_inhibitor| on the stack should prevent removal sessions |
2164 // from completing until after ContinueToCompletion() is called. | 2145 // from completing until after ContinueToCompletion() is called. |
2165 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 2146 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
2166 | 2147 |
2167 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); | 2148 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); |
2168 | 2149 |
2169 BrowsingDataRemover* remover = | 2150 BrowsingDataRemover* remover = |
2170 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile()); | 2151 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile()); |
2171 remover->Remove(BrowsingDataRemover::Unbounded(), | 2152 remover->Remove(Unbounded(), BrowsingDataRemover::REMOVE_HISTORY, |
2172 BrowsingDataRemover::REMOVE_HISTORY, | |
2173 BrowsingDataHelper::UNPROTECTED_WEB); | 2153 BrowsingDataHelper::UNPROTECTED_WEB); |
2174 | 2154 |
2175 // Process messages until the inhibitor is notified, and then some, to make | 2155 // Process messages until the inhibitor is notified, and then some, to make |
2176 // sure we do not complete asynchronously before ContinueToCompletion() is | 2156 // sure we do not complete asynchronously before ContinueToCompletion() is |
2177 // called. | 2157 // called. |
2178 completion_inhibitor.BlockUntilNearCompletion(); | 2158 completion_inhibitor.BlockUntilNearCompletion(); |
2179 base::RunLoop().RunUntilIdle(); | 2159 base::RunLoop().RunUntilIdle(); |
2180 | 2160 |
2181 // Verify that the completion notification has not yet been broadcasted. | 2161 // Verify that the completion notification has not yet been broadcasted. |
2182 EXPECT_EQ(-1, GetRemovalMask()); | 2162 EXPECT_EQ(-1, GetRemovalMask()); |
2183 EXPECT_EQ(-1, GetOriginTypeMask()); | 2163 EXPECT_EQ(-1, GetOriginTypeMask()); |
2184 | 2164 |
2185 // Now run the removal process until completion, and verify that observers are | 2165 // Now run the removal process until completion, and verify that observers are |
2186 // now notified, and the notifications is sent out. | 2166 // now notified, and the notifications is sent out. |
2187 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 2167 BrowsingDataRemoverCompletionObserver completion_observer(remover); |
2188 completion_inhibitor.ContinueToCompletion(); | 2168 completion_inhibitor.ContinueToCompletion(); |
2189 completion_observer.BlockUntilCompletion(); | 2169 completion_observer.BlockUntilCompletion(); |
2190 | 2170 |
2191 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 2171 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
2192 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2172 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2193 } | 2173 } |
2194 | 2174 |
2195 TEST_F(BrowsingDataRemoverTest, EarlyShutdown) { | 2175 TEST_F(BrowsingDataRemoverTest, EarlyShutdown) { |
2196 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); | 2176 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); |
2197 | 2177 |
2198 BrowsingDataRemover* remover = | 2178 BrowsingDataRemover* remover = |
2199 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile()); | 2179 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile()); |
2200 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 2180 BrowsingDataRemoverCompletionObserver completion_observer(remover); |
2201 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 2181 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
2202 remover->Remove(BrowsingDataRemover::Unbounded(), | 2182 remover->Remove(Unbounded(), BrowsingDataRemover::REMOVE_HISTORY, |
2203 BrowsingDataRemover::REMOVE_HISTORY, | |
2204 BrowsingDataHelper::UNPROTECTED_WEB); | 2183 BrowsingDataHelper::UNPROTECTED_WEB); |
2205 | 2184 |
2206 completion_inhibitor.BlockUntilNearCompletion(); | 2185 completion_inhibitor.BlockUntilNearCompletion(); |
2207 | 2186 |
2208 // Verify that the completion notification has not yet been broadcasted. | 2187 // Verify that the completion notification has not yet been broadcasted. |
2209 EXPECT_EQ(-1, GetRemovalMask()); | 2188 EXPECT_EQ(-1, GetRemovalMask()); |
2210 EXPECT_EQ(-1, GetOriginTypeMask()); | 2189 EXPECT_EQ(-1, GetOriginTypeMask()); |
2211 | 2190 |
2212 // Destroying the profile should trigger the notification. | 2191 // Destroying the profile should trigger the notification. |
2213 DestroyProfile(); | 2192 DestroyProfile(); |
2214 | 2193 |
2215 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 2194 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); |
2216 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2195 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2217 | 2196 |
2218 // Finishing after shutdown shouldn't break anything. | 2197 // Finishing after shutdown shouldn't break anything. |
2219 completion_inhibitor.ContinueToCompletion(); | 2198 completion_inhibitor.ContinueToCompletion(); |
2220 completion_observer.BlockUntilCompletion(); | 2199 completion_observer.BlockUntilCompletion(); |
2221 } | 2200 } |
2222 | 2201 |
2223 TEST_F(BrowsingDataRemoverTest, ZeroSuggestCacheClear) { | 2202 TEST_F(BrowsingDataRemoverTest, ZeroSuggestCacheClear) { |
2224 PrefService* prefs = GetProfile()->GetPrefs(); | 2203 PrefService* prefs = GetProfile()->GetPrefs(); |
2225 prefs->SetString(omnibox::kZeroSuggestCachedResults, | 2204 prefs->SetString(omnibox::kZeroSuggestCachedResults, |
2226 "[\"\", [\"foo\", \"bar\"]]"); | 2205 "[\"\", [\"foo\", \"bar\"]]"); |
2227 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 2206 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
2228 BrowsingDataRemover::REMOVE_COOKIES, | |
2229 false); | 2207 false); |
2230 | 2208 |
2231 // Expect the prefs to be cleared when cookies are removed. | 2209 // Expect the prefs to be cleared when cookies are removed. |
2232 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); | 2210 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); |
2233 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 2211 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
2234 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2212 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2235 } | 2213 } |
2236 | 2214 |
2237 #if defined(OS_CHROMEOS) | 2215 #if defined(OS_CHROMEOS) |
2238 TEST_F(BrowsingDataRemoverTest, ContentProtectionPlatformKeysRemoval) { | 2216 TEST_F(BrowsingDataRemoverTest, ContentProtectionPlatformKeysRemoval) { |
(...skipping 11 matching lines...) Expand all Loading... |
2250 new chromeos::MockCryptohomeClient; | 2228 new chromeos::MockCryptohomeClient; |
2251 dbus_setter->SetCryptohomeClient( | 2229 dbus_setter->SetCryptohomeClient( |
2252 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); | 2230 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); |
2253 | 2231 |
2254 // Expect exactly one call. No calls means no attempt to delete keys and more | 2232 // Expect exactly one call. No calls means no attempt to delete keys and more |
2255 // than one call means a significant performance problem. | 2233 // than one call means a significant performance problem. |
2256 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) | 2234 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) |
2257 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); | 2235 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); |
2258 | 2236 |
2259 BlockUntilBrowsingDataRemoved( | 2237 BlockUntilBrowsingDataRemoved( |
2260 BrowsingDataRemover::EVERYTHING, | 2238 EVERYTHING, BrowsingDataRemover::REMOVE_CONTENT_LICENSES, false); |
2261 BrowsingDataRemover::REMOVE_CONTENT_LICENSES, false); | |
2262 | 2239 |
2263 chromeos::DBusThreadManager::Shutdown(); | 2240 chromeos::DBusThreadManager::Shutdown(); |
2264 } | 2241 } |
2265 #endif | 2242 #endif |
2266 | 2243 |
2267 TEST_F(BrowsingDataRemoverTest, DomainReliability_Null) { | 2244 TEST_F(BrowsingDataRemoverTest, DomainReliability_Null) { |
2268 const ClearDomainReliabilityTester& tester = | 2245 const ClearDomainReliabilityTester& tester = |
2269 clear_domain_reliability_tester(); | 2246 clear_domain_reliability_tester(); |
2270 | 2247 |
2271 EXPECT_EQ(0u, tester.clear_count()); | 2248 EXPECT_EQ(0u, tester.clear_count()); |
2272 } | 2249 } |
2273 | 2250 |
2274 TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons) { | 2251 TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons) { |
2275 const ClearDomainReliabilityTester& tester = | 2252 const ClearDomainReliabilityTester& tester = |
2276 clear_domain_reliability_tester(); | 2253 clear_domain_reliability_tester(); |
2277 | 2254 |
2278 BlockUntilBrowsingDataRemoved( | 2255 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_HISTORY, |
2279 BrowsingDataRemover::EVERYTHING, | 2256 false); |
2280 BrowsingDataRemover::REMOVE_HISTORY, false); | |
2281 EXPECT_EQ(1u, tester.clear_count()); | 2257 EXPECT_EQ(1u, tester.clear_count()); |
2282 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); | 2258 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); |
2283 } | 2259 } |
2284 | 2260 |
2285 TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) { | 2261 TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) { |
2286 const ClearDomainReliabilityTester& tester = | 2262 const ClearDomainReliabilityTester& tester = |
2287 clear_domain_reliability_tester(); | 2263 clear_domain_reliability_tester(); |
2288 | 2264 |
2289 BlockUntilBrowsingDataRemoved( | 2265 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
2290 BrowsingDataRemover::EVERYTHING, | 2266 false); |
2291 BrowsingDataRemover::REMOVE_COOKIES, false); | |
2292 EXPECT_EQ(1u, tester.clear_count()); | 2267 EXPECT_EQ(1u, tester.clear_count()); |
2293 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 2268 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
2294 } | 2269 } |
2295 | 2270 |
2296 TEST_F(BrowsingDataRemoverTest, DomainReliability_ContextsWin) { | 2271 TEST_F(BrowsingDataRemoverTest, DomainReliability_ContextsWin) { |
2297 const ClearDomainReliabilityTester& tester = | 2272 const ClearDomainReliabilityTester& tester = |
2298 clear_domain_reliability_tester(); | 2273 clear_domain_reliability_tester(); |
2299 | 2274 |
2300 BlockUntilBrowsingDataRemoved( | 2275 BlockUntilBrowsingDataRemoved( |
2301 BrowsingDataRemover::EVERYTHING, | 2276 EVERYTHING, |
2302 BrowsingDataRemover::REMOVE_HISTORY | | 2277 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES, |
2303 BrowsingDataRemover::REMOVE_COOKIES, false); | 2278 false); |
2304 EXPECT_EQ(1u, tester.clear_count()); | 2279 EXPECT_EQ(1u, tester.clear_count()); |
2305 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 2280 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
2306 } | 2281 } |
2307 | 2282 |
2308 TEST_F(BrowsingDataRemoverTest, DomainReliability_ProtectedOrigins) { | 2283 TEST_F(BrowsingDataRemoverTest, DomainReliability_ProtectedOrigins) { |
2309 const ClearDomainReliabilityTester& tester = | 2284 const ClearDomainReliabilityTester& tester = |
2310 clear_domain_reliability_tester(); | 2285 clear_domain_reliability_tester(); |
2311 | 2286 |
2312 BlockUntilBrowsingDataRemoved( | 2287 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
2313 BrowsingDataRemover::EVERYTHING, | 2288 true); |
2314 BrowsingDataRemover::REMOVE_COOKIES, true); | |
2315 EXPECT_EQ(1u, tester.clear_count()); | 2289 EXPECT_EQ(1u, tester.clear_count()); |
2316 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 2290 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
2317 } | 2291 } |
2318 | 2292 |
2319 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since | 2293 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since |
2320 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed | 2294 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed |
2321 // for some unrelated test cases. This should be fixed so it tests the no- | 2295 // for some unrelated test cases. This should be fixed so it tests the no- |
2322 // monitor case again. | 2296 // monitor case again. |
2323 TEST_F(BrowsingDataRemoverTest, DISABLED_DomainReliability_NoMonitor) { | 2297 TEST_F(BrowsingDataRemoverTest, DISABLED_DomainReliability_NoMonitor) { |
2324 BlockUntilBrowsingDataRemoved( | 2298 BlockUntilBrowsingDataRemoved( |
2325 BrowsingDataRemover::EVERYTHING, | 2299 EVERYTHING, |
2326 BrowsingDataRemover::REMOVE_HISTORY | | 2300 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES, |
2327 BrowsingDataRemover::REMOVE_COOKIES, false); | 2301 false); |
2328 } | 2302 } |
2329 | 2303 |
2330 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByTimeOnly) { | 2304 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByTimeOnly) { |
2331 RemoveDownloadsTester tester(GetProfile()); | 2305 RemoveDownloadsTester tester(GetProfile()); |
2332 base::Callback<bool(const GURL&)> filter = | 2306 base::Callback<bool(const GURL&)> filter = |
2333 BrowsingDataFilterBuilder::BuildNoopFilter(); | 2307 BrowsingDataFilterBuilder::BuildNoopFilter(); |
2334 | 2308 |
2335 EXPECT_CALL( | 2309 EXPECT_CALL( |
2336 *tester.download_manager(), | 2310 *tester.download_manager(), |
2337 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 2311 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
2338 | 2312 |
2339 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 2313 BlockUntilBrowsingDataRemoved(EVERYTHING, |
2340 BrowsingDataRemover::REMOVE_DOWNLOADS, false); | 2314 BrowsingDataRemover::REMOVE_DOWNLOADS, false); |
2341 } | 2315 } |
2342 | 2316 |
2343 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByOrigin) { | 2317 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByOrigin) { |
2344 RemoveDownloadsTester tester(GetProfile()); | 2318 RemoveDownloadsTester tester(GetProfile()); |
2345 RegistrableDomainFilterBuilder builder( | 2319 RegistrableDomainFilterBuilder builder( |
2346 RegistrableDomainFilterBuilder::WHITELIST); | 2320 RegistrableDomainFilterBuilder::WHITELIST); |
2347 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 2321 builder.AddRegisterableDomain(kTestRegisterableDomain1); |
2348 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); | 2322 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); |
2349 | 2323 |
2350 EXPECT_CALL( | 2324 EXPECT_CALL( |
2351 *tester.download_manager(), | 2325 *tester.download_manager(), |
2352 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 2326 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
2353 | 2327 |
2354 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 2328 BlockUntilOriginDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_DOWNLOADS, |
2355 BrowsingDataRemover::REMOVE_DOWNLOADS, builder); | 2329 builder); |
2356 } | 2330 } |
2357 | 2331 |
2358 TEST_F(BrowsingDataRemoverTest, RemovePasswordStatistics) { | 2332 TEST_F(BrowsingDataRemoverTest, RemovePasswordStatistics) { |
2359 RemovePasswordsTester tester(GetProfile()); | 2333 RemovePasswordsTester tester(GetProfile()); |
2360 | 2334 |
2361 EXPECT_CALL(*tester.store(), RemoveStatisticsCreatedBetweenImpl( | 2335 EXPECT_CALL(*tester.store(), RemoveStatisticsCreatedBetweenImpl( |
2362 base::Time(), base::Time::Max())); | 2336 base::Time(), base::Time::Max())); |
2363 BlockUntilBrowsingDataRemoved( | 2337 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_HISTORY, |
2364 BrowsingDataRemover::EVERYTHING, | 2338 false); |
2365 BrowsingDataRemover::REMOVE_HISTORY, false); | |
2366 } | 2339 } |
2367 | 2340 |
2368 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByTimeOnly) { | 2341 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByTimeOnly) { |
2369 RemovePasswordsTester tester(GetProfile()); | 2342 RemovePasswordsTester tester(GetProfile()); |
2370 base::Callback<bool(const GURL&)> filter = | 2343 base::Callback<bool(const GURL&)> filter = |
2371 BrowsingDataFilterBuilder::BuildNoopFilter(); | 2344 BrowsingDataFilterBuilder::BuildNoopFilter(); |
2372 | 2345 |
2373 EXPECT_CALL(*tester.store(), | 2346 EXPECT_CALL(*tester.store(), |
2374 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) | 2347 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) |
2375 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 2348 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
2376 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 2349 BlockUntilBrowsingDataRemoved(EVERYTHING, |
2377 BrowsingDataRemover::REMOVE_PASSWORDS, false); | 2350 BrowsingDataRemover::REMOVE_PASSWORDS, false); |
2378 } | 2351 } |
2379 | 2352 |
2380 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByOrigin) { | 2353 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByOrigin) { |
2381 RemovePasswordsTester tester(GetProfile()); | 2354 RemovePasswordsTester tester(GetProfile()); |
2382 RegistrableDomainFilterBuilder builder( | 2355 RegistrableDomainFilterBuilder builder( |
2383 RegistrableDomainFilterBuilder::WHITELIST); | 2356 RegistrableDomainFilterBuilder::WHITELIST); |
2384 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 2357 builder.AddRegisterableDomain(kTestRegisterableDomain1); |
2385 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); | 2358 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); |
2386 | 2359 |
2387 EXPECT_CALL(*tester.store(), | 2360 EXPECT_CALL(*tester.store(), |
2388 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) | 2361 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) |
2389 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 2362 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
2390 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, | 2363 BlockUntilOriginDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_PASSWORDS, |
2391 BrowsingDataRemover::REMOVE_PASSWORDS, builder); | 2364 builder); |
2392 } | 2365 } |
2393 | 2366 |
2394 TEST_F(BrowsingDataRemoverTest, DisableAutoSignIn) { | 2367 TEST_F(BrowsingDataRemoverTest, DisableAutoSignIn) { |
2395 RemovePasswordsTester tester(GetProfile()); | 2368 RemovePasswordsTester tester(GetProfile()); |
2396 | 2369 |
2397 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) | 2370 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) |
2398 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 2371 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
2399 | 2372 |
2400 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 2373 BlockUntilBrowsingDataRemoved(EVERYTHING, BrowsingDataRemover::REMOVE_COOKIES, |
2401 BrowsingDataRemover::REMOVE_COOKIES, false); | 2374 false); |
2402 } | 2375 } |
2403 | 2376 |
2404 TEST_F(BrowsingDataRemoverTest, DisableAutoSignInAfterRemovingPasswords) { | 2377 TEST_F(BrowsingDataRemoverTest, DisableAutoSignInAfterRemovingPasswords) { |
2405 RemovePasswordsTester tester(GetProfile()); | 2378 RemovePasswordsTester tester(GetProfile()); |
2406 | 2379 |
2407 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) | 2380 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) |
2408 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 2381 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
2409 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) | 2382 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) |
2410 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 2383 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
2411 | 2384 |
2412 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, | 2385 BlockUntilBrowsingDataRemoved(EVERYTHING, |
2413 BrowsingDataRemover::REMOVE_COOKIES | | 2386 BrowsingDataRemover::REMOVE_COOKIES | |
2414 BrowsingDataRemover::REMOVE_PASSWORDS, | 2387 BrowsingDataRemover::REMOVE_PASSWORDS, |
2415 false); | 2388 false); |
2416 } | 2389 } |
2417 | 2390 |
2418 TEST_F(BrowsingDataRemoverTest, RemoveContentSettingsWithBlacklist) { | 2391 TEST_F(BrowsingDataRemoverTest, RemoveContentSettingsWithBlacklist) { |
2419 // Add our settings. | 2392 // Add our settings. |
2420 HostContentSettingsMap* host_content_settings_map = | 2393 HostContentSettingsMap* host_content_settings_map = |
2421 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 2394 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
2422 host_content_settings_map->SetWebsiteSettingDefaultScope( | 2395 host_content_settings_map->SetWebsiteSettingDefaultScope( |
2423 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 2396 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
2424 base::WrapUnique(new base::DictionaryValue())); | 2397 base::WrapUnique(new base::DictionaryValue())); |
2425 host_content_settings_map->SetWebsiteSettingDefaultScope( | 2398 host_content_settings_map->SetWebsiteSettingDefaultScope( |
2426 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 2399 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
2427 base::WrapUnique(new base::DictionaryValue())); | 2400 base::WrapUnique(new base::DictionaryValue())); |
2428 host_content_settings_map->SetWebsiteSettingDefaultScope( | 2401 host_content_settings_map->SetWebsiteSettingDefaultScope( |
2429 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 2402 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
2430 base::WrapUnique(new base::DictionaryValue())); | 2403 base::WrapUnique(new base::DictionaryValue())); |
2431 host_content_settings_map->SetWebsiteSettingDefaultScope( | 2404 host_content_settings_map->SetWebsiteSettingDefaultScope( |
2432 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 2405 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
2433 base::WrapUnique(new base::DictionaryValue())); | 2406 base::WrapUnique(new base::DictionaryValue())); |
2434 | 2407 |
2435 // Clear all except for origin1 and origin3. | 2408 // Clear all except for origin1 and origin3. |
2436 RegistrableDomainFilterBuilder filter( | 2409 RegistrableDomainFilterBuilder filter( |
2437 RegistrableDomainFilterBuilder::BLACKLIST); | 2410 RegistrableDomainFilterBuilder::BLACKLIST); |
2438 filter.AddRegisterableDomain(kTestRegisterableDomain1); | 2411 filter.AddRegisterableDomain(kTestRegisterableDomain1); |
2439 filter.AddRegisterableDomain(kTestRegisterableDomain3); | 2412 filter.AddRegisterableDomain(kTestRegisterableDomain3); |
2440 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, | 2413 BlockUntilOriginDataRemoved( |
2441 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, | 2414 LAST_HOUR, BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, filter); |
2442 filter); | |
2443 | 2415 |
2444 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask()); | 2416 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask()); |
2445 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 2417 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
2446 | 2418 |
2447 // Verify we only have true, and they're origin1, origin3, and origin4. | 2419 // Verify we only have true, and they're origin1, origin3, and origin4. |
2448 ContentSettingsForOneType host_settings; | 2420 ContentSettingsForOneType host_settings; |
2449 host_content_settings_map->GetSettingsForOneType( | 2421 host_content_settings_map->GetSettingsForOneType( |
2450 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); | 2422 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); |
2451 EXPECT_EQ(3u, host_settings.size()); | 2423 EXPECT_EQ(3u, host_settings.size()); |
2452 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 2424 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2537 BrowsingDataRemover::ClearSettingsForOneTypeWithPredicate( | 2509 BrowsingDataRemover::ClearSettingsForOneTypeWithPredicate( |
2538 host_content_settings_map, CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, | 2510 host_content_settings_map, CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, |
2539 base::Bind(&MatchPrimaryPattern, http_pattern)); | 2511 base::Bind(&MatchPrimaryPattern, http_pattern)); |
2540 // Verify we only have one, and it's url1. | 2512 // Verify we only have one, and it's url1. |
2541 host_content_settings_map->GetSettingsForOneType( | 2513 host_content_settings_map->GetSettingsForOneType( |
2542 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); | 2514 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); |
2543 EXPECT_EQ(1u, host_settings.size()); | 2515 EXPECT_EQ(1u, host_settings.size()); |
2544 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(url1), | 2516 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(url1), |
2545 host_settings[0].primary_pattern); | 2517 host_settings[0].primary_pattern); |
2546 } | 2518 } |
OLD | NEW |