| 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 |