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

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

Issue 2084903002: Moved BrowsingDataCounter and part of BrowsingDataCounterUtils to components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (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
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 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 // posts a message to the WEBKIT thread to delete some of its member 1030 // posts a message to the WEBKIT thread to delete some of its member
1030 // variables. We need to ensure that the profile is destroyed, and that 1031 // variables. We need to ensure that the profile is destroyed, and that
1031 // the message loop is cleared out, before destroying the threads and loop. 1032 // the message loop is cleared out, before destroying the threads and loop.
1032 // Otherwise we leak memory. 1033 // Otherwise we leak memory.
1033 profile_.reset(); 1034 profile_.reset();
1034 base::RunLoop().RunUntilIdle(); 1035 base::RunLoop().RunUntilIdle();
1035 1036
1036 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); 1037 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr);
1037 } 1038 }
1038 1039
1039 void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period, 1040 void BlockUntilBrowsingDataRemoved(browsing_data::TimePeriod period,
1040 int remove_mask, 1041 int remove_mask,
1041 bool include_protected_origins) { 1042 bool include_protected_origins) {
1042 BrowsingDataRemover* remover = 1043 BrowsingDataRemover* remover =
1043 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); 1044 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get());
1044 1045
1045 TestStoragePartition storage_partition; 1046 TestStoragePartition storage_partition;
1046 remover->OverrideStoragePartitionForTesting(&storage_partition); 1047 remover->OverrideStoragePartitionForTesting(&storage_partition);
1047 1048
1048 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 1049 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
1049 1050
1050 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; 1051 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB;
1051 if (include_protected_origins) 1052 if (include_protected_origins)
1052 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB; 1053 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB;
1053 1054
1054 BrowsingDataRemoverCompletionObserver completion_observer(remover); 1055 BrowsingDataRemoverCompletionObserver completion_observer(remover);
1055 remover->Remove(BrowsingDataRemover::Period(period), remove_mask, 1056 remover->Remove(BrowsingDataRemover::Period(period), remove_mask,
1056 origin_type_mask); 1057 origin_type_mask);
1057 completion_observer.BlockUntilCompletion(); 1058 completion_observer.BlockUntilCompletion();
1058 1059
1059 // Save so we can verify later. 1060 // Save so we can verify later.
1060 storage_partition_removal_data_ = 1061 storage_partition_removal_data_ =
1061 storage_partition.GetStoragePartitionRemovalData(); 1062 storage_partition.GetStoragePartitionRemovalData();
1062 } 1063 }
1063 1064
1064 void BlockUntilOriginDataRemoved( 1065 void BlockUntilOriginDataRemoved(
1065 BrowsingDataRemover::TimePeriod period, 1066 browsing_data::TimePeriod period,
1066 int remove_mask, 1067 int remove_mask,
1067 const BrowsingDataFilterBuilder& filter_builder) { 1068 const BrowsingDataFilterBuilder& filter_builder) {
1068 BrowsingDataRemover* remover = 1069 BrowsingDataRemover* remover =
1069 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get()); 1070 BrowsingDataRemoverFactory::GetForBrowserContext(profile_.get());
1070 TestStoragePartition storage_partition; 1071 TestStoragePartition storage_partition;
1071 remover->OverrideStoragePartitionForTesting(&storage_partition); 1072 remover->OverrideStoragePartitionForTesting(&storage_partition);
1072 1073
1073 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 1074 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
1074 1075
1075 BrowsingDataRemoverCompletionObserver completion_observer(remover); 1076 BrowsingDataRemoverCompletionObserver completion_observer(remover);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 1166
1166 // Needed to mock out DomainReliabilityService, even for unrelated tests. 1167 // Needed to mock out DomainReliabilityService, even for unrelated tests.
1167 ClearDomainReliabilityTester clear_domain_reliability_tester_; 1168 ClearDomainReliabilityTester clear_domain_reliability_tester_;
1168 1169
1169 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest); 1170 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest);
1170 }; 1171 };
1171 1172
1172 // Tests --------------------------------------------------------------------- 1173 // Tests ---------------------------------------------------------------------
1173 1174
1174 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { 1175 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
1175 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1176 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1176 BrowsingDataRemover::REMOVE_COOKIES, 1177 BrowsingDataRemover::REMOVE_COOKIES, false);
1177 false);
1178 1178
1179 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1179 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1180 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1180 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1181 1181
1182 // Verify that storage partition was instructed to remove the cookies. 1182 // Verify that storage partition was instructed to remove the cookies.
1183 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1183 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1184 EXPECT_EQ(removal_data.remove_mask, 1184 EXPECT_EQ(removal_data.remove_mask,
1185 StoragePartition::REMOVE_DATA_MASK_COOKIES); 1185 StoragePartition::REMOVE_DATA_MASK_COOKIES);
1186 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1186 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1187 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); 1187 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL);
1188 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1188 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1189 } 1189 }
1190 1190
1191 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) { 1191 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) {
1192 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1192 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
1193 BrowsingDataRemover::REMOVE_COOKIES, 1193 BrowsingDataRemover::REMOVE_COOKIES, false);
1194 false);
1195 1194
1196 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1195 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1197 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1196 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1198 1197
1199 // Verify that storage partition was instructed to remove the cookies. 1198 // Verify that storage partition was instructed to remove the cookies.
1200 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1199 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1201 EXPECT_EQ(removal_data.remove_mask, 1200 EXPECT_EQ(removal_data.remove_mask,
1202 StoragePartition::REMOVE_DATA_MASK_COOKIES); 1201 StoragePartition::REMOVE_DATA_MASK_COOKIES);
1203 // Removing with time period other than EVERYTHING should not clear 1202 // Removing with time period other than EVERYTHING should not clear
1204 // persistent storage data. 1203 // persistent storage data.
1205 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1204 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1206 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); 1205 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT);
1207 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1206 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1208 } 1207 }
1209 1208
1210 TEST_F(BrowsingDataRemoverTest, RemoveCookiesDomainBlacklist) { 1209 TEST_F(BrowsingDataRemoverTest, RemoveCookiesDomainBlacklist) {
1211 RegistrableDomainFilterBuilder filter( 1210 RegistrableDomainFilterBuilder filter(
1212 RegistrableDomainFilterBuilder::BLACKLIST); 1211 RegistrableDomainFilterBuilder::BLACKLIST);
1213 filter.AddRegisterableDomain(kTestRegisterableDomain1); 1212 filter.AddRegisterableDomain(kTestRegisterableDomain1);
1214 filter.AddRegisterableDomain(kTestRegisterableDomain3); 1213 filter.AddRegisterableDomain(kTestRegisterableDomain3);
1215 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 1214 BlockUntilOriginDataRemoved(browsing_data::LAST_HOUR,
1216 BrowsingDataRemover::REMOVE_COOKIES, filter); 1215 BrowsingDataRemover::REMOVE_COOKIES, filter);
1217 1216
1218 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1217 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1219 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1218 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1220 1219
1221 // Verify that storage partition was instructed to remove the cookies. 1220 // Verify that storage partition was instructed to remove the cookies.
1222 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1221 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1223 EXPECT_EQ(removal_data.remove_mask, 1222 EXPECT_EQ(removal_data.remove_mask,
1224 StoragePartition::REMOVE_DATA_MASK_COOKIES); 1223 StoragePartition::REMOVE_DATA_MASK_COOKIES);
1225 // Removing with time period other than EVERYTHING should not clear 1224 // Removing with time period other than EVERYTHING should not clear
(...skipping 14 matching lines...) Expand all
1240 // scheme. 1239 // scheme.
1241 EXPECT_FALSE(removal_data.cookie_matcher.Run(CreateCookieWithHost(kOrigin4))); 1240 EXPECT_FALSE(removal_data.cookie_matcher.Run(CreateCookieWithHost(kOrigin4)));
1242 } 1241 }
1243 1242
1244 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) { 1243 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) {
1245 RemoveSafeBrowsingCookieTester tester; 1244 RemoveSafeBrowsingCookieTester tester;
1246 1245
1247 tester.AddCookie(); 1246 tester.AddCookie();
1248 ASSERT_TRUE(tester.ContainsCookie()); 1247 ASSERT_TRUE(tester.ContainsCookie());
1249 1248
1250 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1249 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1251 BrowsingDataRemover::REMOVE_COOKIES, false); 1250 BrowsingDataRemover::REMOVE_COOKIES, false);
1252 1251
1253 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1252 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1254 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1253 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1255 EXPECT_FALSE(tester.ContainsCookie()); 1254 EXPECT_FALSE(tester.ContainsCookie());
1256 } 1255 }
1257 1256
1258 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) { 1257 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) {
1259 RemoveSafeBrowsingCookieTester tester; 1258 RemoveSafeBrowsingCookieTester tester;
1260 1259
1261 tester.AddCookie(); 1260 tester.AddCookie();
1262 ASSERT_TRUE(tester.ContainsCookie()); 1261 ASSERT_TRUE(tester.ContainsCookie());
1263 1262
1264 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1263 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
1265 BrowsingDataRemover::REMOVE_COOKIES, false); 1264 BrowsingDataRemover::REMOVE_COOKIES, false);
1266 1265
1267 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1266 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1268 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1267 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1269 // Removing with time period other than EVERYTHING should not clear safe 1268 // Removing with time period other than EVERYTHING should not clear safe
1270 // browsing cookies. 1269 // browsing cookies.
1271 EXPECT_TRUE(tester.ContainsCookie()); 1270 EXPECT_TRUE(tester.ContainsCookie());
1272 } 1271 }
1273 1272
1274 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForeverWithPredicate) { 1273 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForeverWithPredicate) {
1275 RemoveSafeBrowsingCookieTester tester; 1274 RemoveSafeBrowsingCookieTester tester;
1276 1275
1277 tester.AddCookie(); 1276 tester.AddCookie();
1278 ASSERT_TRUE(tester.ContainsCookie()); 1277 ASSERT_TRUE(tester.ContainsCookie());
1279 RegistrableDomainFilterBuilder filter( 1278 RegistrableDomainFilterBuilder filter(
1280 RegistrableDomainFilterBuilder::BLACKLIST); 1279 RegistrableDomainFilterBuilder::BLACKLIST);
1281 filter.AddRegisterableDomain(kTestRegisterableDomain1); 1280 filter.AddRegisterableDomain(kTestRegisterableDomain1);
1282 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 1281 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
1283 BrowsingDataRemover::REMOVE_COOKIES, filter); 1282 BrowsingDataRemover::REMOVE_COOKIES, filter);
1284 1283
1285 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 1284 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
1286 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1285 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1287 EXPECT_TRUE(tester.ContainsCookie()); 1286 EXPECT_TRUE(tester.ContainsCookie());
1288 1287
1289 RegistrableDomainFilterBuilder filter2( 1288 RegistrableDomainFilterBuilder filter2(
1290 RegistrableDomainFilterBuilder::WHITELIST); 1289 RegistrableDomainFilterBuilder::WHITELIST);
1291 filter2.AddRegisterableDomain(kTestRegisterableDomain1); 1290 filter2.AddRegisterableDomain(kTestRegisterableDomain1);
1292 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 1291 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
1293 BrowsingDataRemover::REMOVE_COOKIES, filter2); 1292 BrowsingDataRemover::REMOVE_COOKIES, filter2);
1294 EXPECT_FALSE(tester.ContainsCookie()); 1293 EXPECT_FALSE(tester.ContainsCookie());
1295 } 1294 }
1296 1295
1297 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDForever) { 1296 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDForever) {
1298 RemoveChannelIDTester tester(GetProfile()); 1297 RemoveChannelIDTester tester(GetProfile());
1299 1298
1300 tester.AddChannelID(kTestOrigin1); 1299 tester.AddChannelID(kTestOrigin1);
1301 EXPECT_EQ(0, tester.ssl_config_changed_count()); 1300 EXPECT_EQ(0, tester.ssl_config_changed_count());
1302 EXPECT_EQ(1, tester.ChannelIDCount()); 1301 EXPECT_EQ(1, tester.ChannelIDCount());
1303 1302
1304 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1303 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1305 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); 1304 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false);
1306 1305
1307 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); 1306 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask());
1308 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1307 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1309 EXPECT_EQ(1, tester.ssl_config_changed_count()); 1308 EXPECT_EQ(1, tester.ssl_config_changed_count());
1310 EXPECT_EQ(0, tester.ChannelIDCount()); 1309 EXPECT_EQ(0, tester.ChannelIDCount());
1311 } 1310 }
1312 1311
1313 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDLastHour) { 1312 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDLastHour) {
1314 RemoveChannelIDTester tester(GetProfile()); 1313 RemoveChannelIDTester tester(GetProfile());
1315 1314
1316 base::Time now = base::Time::Now(); 1315 base::Time now = base::Time::Now();
1317 tester.AddChannelID(kTestOrigin1); 1316 tester.AddChannelID(kTestOrigin1);
1318 tester.AddChannelIDWithTimes(kTestOrigin2, 1317 tester.AddChannelIDWithTimes(kTestOrigin2,
1319 now - base::TimeDelta::FromHours(2)); 1318 now - base::TimeDelta::FromHours(2));
1320 EXPECT_EQ(0, tester.ssl_config_changed_count()); 1319 EXPECT_EQ(0, tester.ssl_config_changed_count());
1321 EXPECT_EQ(2, tester.ChannelIDCount()); 1320 EXPECT_EQ(2, tester.ChannelIDCount());
1322 1321
1323 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1322 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
1324 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); 1323 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false);
1325 1324
1326 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); 1325 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask());
1327 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1326 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1328 EXPECT_EQ(1, tester.ssl_config_changed_count()); 1327 EXPECT_EQ(1, tester.ssl_config_changed_count());
1329 ASSERT_EQ(1, tester.ChannelIDCount()); 1328 ASSERT_EQ(1, tester.ChannelIDCount());
1330 net::ChannelIDStore::ChannelIDList channel_ids; 1329 net::ChannelIDStore::ChannelIDList channel_ids;
1331 tester.GetChannelIDList(&channel_ids); 1330 tester.GetChannelIDList(&channel_ids);
1332 ASSERT_EQ(1U, channel_ids.size()); 1331 ASSERT_EQ(1U, channel_ids.size());
1333 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); 1332 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier());
1334 } 1333 }
1335 1334
1336 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDsForServerIdentifiers) { 1335 TEST_F(BrowsingDataRemoverTest, RemoveChannelIDsForServerIdentifiers) {
1337 RemoveChannelIDTester tester(GetProfile()); 1336 RemoveChannelIDTester tester(GetProfile());
1338 1337
1339 tester.AddChannelID(kTestRegisterableDomain1); 1338 tester.AddChannelID(kTestRegisterableDomain1);
1340 tester.AddChannelID(kTestRegisterableDomain3); 1339 tester.AddChannelID(kTestRegisterableDomain3);
1341 EXPECT_EQ(2, tester.ChannelIDCount()); 1340 EXPECT_EQ(2, tester.ChannelIDCount());
1342 1341
1343 RegistrableDomainFilterBuilder filter_builder( 1342 RegistrableDomainFilterBuilder filter_builder(
1344 RegistrableDomainFilterBuilder::WHITELIST); 1343 RegistrableDomainFilterBuilder::WHITELIST);
1345 filter_builder.AddRegisterableDomain(kTestRegisterableDomain1); 1344 filter_builder.AddRegisterableDomain(kTestRegisterableDomain1);
1346 1345
1347 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 1346 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
1348 BrowsingDataRemover::REMOVE_CHANNEL_IDS, filter_builder); 1347 BrowsingDataRemover::REMOVE_CHANNEL_IDS,
1348 filter_builder);
1349 1349
1350 EXPECT_EQ(1, tester.ChannelIDCount()); 1350 EXPECT_EQ(1, tester.ChannelIDCount());
1351 net::ChannelIDStore::ChannelIDList channel_ids; 1351 net::ChannelIDStore::ChannelIDList channel_ids;
1352 tester.GetChannelIDList(&channel_ids); 1352 tester.GetChannelIDList(&channel_ids);
1353 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); 1353 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier());
1354 } 1354 }
1355 1355
1356 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) { 1356 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) {
1357 #if defined(ENABLE_EXTENSIONS) 1357 #if defined(ENABLE_EXTENSIONS)
1358 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); 1358 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy();
1359 // Protect kOrigin1. 1359 // Protect kOrigin1.
1360 policy->AddProtected(kOrigin1.GetOrigin()); 1360 policy->AddProtected(kOrigin1.GetOrigin());
1361 #endif 1361 #endif
1362 1362
1363 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1363 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1364 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, 1364 BrowsingDataRemover::REMOVE_LOCAL_STORAGE,
1365 false); 1365 false);
1366 1366
1367 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); 1367 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
1368 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1368 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1369 1369
1370 // Verify that storage partition was instructed to remove the data correctly. 1370 // Verify that storage partition was instructed to remove the data correctly.
1371 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1371 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1372 EXPECT_EQ(removal_data.remove_mask, 1372 EXPECT_EQ(removal_data.remove_mask,
1373 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); 1373 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE);
1374 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1374 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1375 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); 1375 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL);
1376 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1376 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1377 1377
1378 // Check origin matcher. 1378 // Check origin matcher.
1379 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), 1379 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(),
1380 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); 1380 removal_data.origin_matcher.Run(kOrigin1, mock_policy()));
1381 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1381 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1382 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1382 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1383 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); 1383 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy()));
1384 } 1384 }
1385 1385
1386 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) { 1386 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) {
1387 #if defined(ENABLE_EXTENSIONS) 1387 #if defined(ENABLE_EXTENSIONS)
1388 // Protect kOrigin1. 1388 // Protect kOrigin1.
1389 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); 1389 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy();
1390 policy->AddProtected(kOrigin1.GetOrigin()); 1390 policy->AddProtected(kOrigin1.GetOrigin());
1391 #endif 1391 #endif
1392 1392
1393 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1393 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1394 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, 1394 BrowsingDataRemover::REMOVE_LOCAL_STORAGE,
1395 true); 1395 true);
1396 1396
1397 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); 1397 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
1398 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB | 1398 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB |
1399 BrowsingDataHelper::PROTECTED_WEB, GetOriginTypeMask()); 1399 BrowsingDataHelper::PROTECTED_WEB, GetOriginTypeMask());
1400 1400
1401 // Verify that storage partition was instructed to remove the data correctly. 1401 // Verify that storage partition was instructed to remove the data correctly.
1402 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1402 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1403 EXPECT_EQ(removal_data.remove_mask, 1403 EXPECT_EQ(removal_data.remove_mask,
1404 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); 1404 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE);
1405 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1405 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1406 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); 1406 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL);
1407 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1407 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1408 1408
1409 // Check origin matcher all http origin will match since we specified 1409 // Check origin matcher all http origin will match since we specified
1410 // both protected and unprotected. 1410 // both protected and unprotected.
1411 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); 1411 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy()));
1412 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1412 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1413 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1413 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1414 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); 1414 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy()));
1415 } 1415 }
1416 1416
1417 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) { 1417 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) {
1418 #if defined(ENABLE_EXTENSIONS) 1418 #if defined(ENABLE_EXTENSIONS)
1419 CreateMockPolicy(); 1419 CreateMockPolicy();
1420 #endif 1420 #endif
1421 1421
1422 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK, 1422 BlockUntilBrowsingDataRemoved(browsing_data::LAST_WEEK,
1423 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, 1423 BrowsingDataRemover::REMOVE_LOCAL_STORAGE,
1424 false); 1424 false);
1425 1425
1426 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); 1426 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
1427 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1427 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1428 1428
1429 // Verify that storage partition was instructed to remove the data correctly. 1429 // Verify that storage partition was instructed to remove the data correctly.
1430 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1430 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1431 EXPECT_EQ(removal_data.remove_mask, 1431 EXPECT_EQ(removal_data.remove_mask,
1432 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); 1432 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE);
1433 // Persistent storage won't be deleted. 1433 // Persistent storage won't be deleted.
1434 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1434 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1435 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); 1435 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT);
1436 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1436 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1437 1437
1438 // Check origin matcher. 1438 // Check origin matcher.
1439 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); 1439 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy()));
1440 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1440 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1441 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1441 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1442 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); 1442 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy()));
1443 } 1443 }
1444 1444
1445 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { 1445 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
1446 RemoveHistoryTester tester; 1446 RemoveHistoryTester tester;
1447 ASSERT_TRUE(tester.Init(GetProfile())); 1447 ASSERT_TRUE(tester.Init(GetProfile()));
1448 1448
1449 tester.AddHistory(kOrigin1, base::Time::Now()); 1449 tester.AddHistory(kOrigin1, base::Time::Now());
1450 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 1450 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
1451 1451
1452 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1452 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1453 BrowsingDataRemover::REMOVE_HISTORY, false); 1453 BrowsingDataRemover::REMOVE_HISTORY, false);
1454 1454
1455 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1455 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1456 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1456 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1457 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); 1457 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1));
1458 } 1458 }
1459 1459
1460 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { 1460 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
1461 RemoveHistoryTester tester; 1461 RemoveHistoryTester tester;
1462 ASSERT_TRUE(tester.Init(GetProfile())); 1462 ASSERT_TRUE(tester.Init(GetProfile()));
1463 1463
1464 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 1464 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
1465 1465
1466 tester.AddHistory(kOrigin1, base::Time::Now()); 1466 tester.AddHistory(kOrigin1, base::Time::Now());
1467 tester.AddHistory(kOrigin2, two_hours_ago); 1467 tester.AddHistory(kOrigin2, two_hours_ago);
1468 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 1468 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
1469 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1469 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2));
1470 1470
1471 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1471 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
1472 BrowsingDataRemover::REMOVE_HISTORY, false); 1472 BrowsingDataRemover::REMOVE_HISTORY, false);
1473 1473
1474 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1474 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1475 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1475 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1476 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); 1476 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1));
1477 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1477 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2));
1478 } 1478 }
1479 1479
1480 // This should crash (DCHECK) in Debug, but death tests don't work properly 1480 // This should crash (DCHECK) in Debug, but death tests don't work properly
1481 // here. 1481 // here.
1482 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) 1482 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON)
1483 TEST_F(BrowsingDataRemoverTest, RemoveHistoryProhibited) { 1483 TEST_F(BrowsingDataRemoverTest, RemoveHistoryProhibited) {
1484 RemoveHistoryTester tester; 1484 RemoveHistoryTester tester;
1485 ASSERT_TRUE(tester.Init(GetProfile())); 1485 ASSERT_TRUE(tester.Init(GetProfile()));
1486 PrefService* prefs = GetProfile()->GetPrefs(); 1486 PrefService* prefs = GetProfile()->GetPrefs();
1487 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); 1487 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false);
1488 1488
1489 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 1489 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
1490 1490
1491 tester.AddHistory(kOrigin1, base::Time::Now()); 1491 tester.AddHistory(kOrigin1, base::Time::Now());
1492 tester.AddHistory(kOrigin2, two_hours_ago); 1492 tester.AddHistory(kOrigin2, two_hours_ago);
1493 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 1493 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
1494 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1494 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2));
1495 1495
1496 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1496 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
1497 BrowsingDataRemover::REMOVE_HISTORY, false); 1497 BrowsingDataRemover::REMOVE_HISTORY, false);
1498 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1498 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1499 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1499 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1500 1500
1501 // Nothing should have been deleted. 1501 // Nothing should have been deleted.
1502 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); 1502 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1));
1503 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); 1503 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2));
1504 } 1504 }
1505 #endif 1505 #endif
1506 1506
1507 TEST_F(BrowsingDataRemoverTest, RemoveMultipleTypes) { 1507 TEST_F(BrowsingDataRemoverTest, RemoveMultipleTypes) {
1508 // Add some history. 1508 // Add some history.
1509 RemoveHistoryTester history_tester; 1509 RemoveHistoryTester history_tester;
1510 ASSERT_TRUE(history_tester.Init(GetProfile())); 1510 ASSERT_TRUE(history_tester.Init(GetProfile()));
1511 history_tester.AddHistory(kOrigin1, base::Time::Now()); 1511 history_tester.AddHistory(kOrigin1, base::Time::Now());
1512 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); 1512 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1));
1513 1513
1514 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | 1514 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY |
1515 BrowsingDataRemover::REMOVE_COOKIES; 1515 BrowsingDataRemover::REMOVE_COOKIES;
1516 1516
1517 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1517 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING, removal_mask, false);
1518 removal_mask, false);
1519 1518
1520 EXPECT_EQ(removal_mask, GetRemovalMask()); 1519 EXPECT_EQ(removal_mask, GetRemovalMask());
1521 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1520 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1522 EXPECT_FALSE(history_tester.HistoryContainsURL(kOrigin1)); 1521 EXPECT_FALSE(history_tester.HistoryContainsURL(kOrigin1));
1523 1522
1524 // The cookie would be deleted throught the StorageParition, check if the 1523 // The cookie would be deleted throught the StorageParition, check if the
1525 // partition was requested to remove cookie. 1524 // partition was requested to remove cookie.
1526 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1525 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1527 EXPECT_EQ(removal_data.remove_mask, 1526 EXPECT_EQ(removal_data.remove_mask,
1528 StoragePartition::REMOVE_DATA_MASK_COOKIES); 1527 StoragePartition::REMOVE_DATA_MASK_COOKIES);
(...skipping 10 matching lines...) Expand all
1539 1538
1540 // Add some history. 1539 // Add some history.
1541 RemoveHistoryTester history_tester; 1540 RemoveHistoryTester history_tester;
1542 ASSERT_TRUE(history_tester.Init(GetProfile())); 1541 ASSERT_TRUE(history_tester.Init(GetProfile()));
1543 history_tester.AddHistory(kOrigin1, base::Time::Now()); 1542 history_tester.AddHistory(kOrigin1, base::Time::Now());
1544 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); 1543 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1));
1545 1544
1546 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | 1545 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY |
1547 BrowsingDataRemover::REMOVE_COOKIES; 1546 BrowsingDataRemover::REMOVE_COOKIES;
1548 1547
1549 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 1548 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR, removal_mask, false);
1550 removal_mask, false);
1551 EXPECT_EQ(removal_mask, GetRemovalMask()); 1549 EXPECT_EQ(removal_mask, GetRemovalMask());
1552 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 1550 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
1553 1551
1554 // 1/2. History should remain. 1552 // 1/2. History should remain.
1555 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); 1553 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1));
1556 1554
1557 // 2/2. The cookie(s) would be deleted throught the StorageParition, check if 1555 // 2/2. The cookie(s) would be deleted throught the StorageParition, check if
1558 // the partition was requested to remove cookie. 1556 // the partition was requested to remove cookie.
1559 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); 1557 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData();
1560 EXPECT_EQ(removal_data.remove_mask, 1558 EXPECT_EQ(removal_data.remove_mask,
1561 StoragePartition::REMOVE_DATA_MASK_COOKIES); 1559 StoragePartition::REMOVE_DATA_MASK_COOKIES);
1562 // Persistent storage won't be deleted, since EVERYTHING was not specified. 1560 // Persistent storage won't be deleted, since EVERYTHING was not specified.
1563 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1561 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1564 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); 1562 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT);
1565 } 1563 }
1566 #endif 1564 #endif
1567 1565
1568 // Test that clearing history deletes favicons not associated with bookmarks. 1566 // Test that clearing history deletes favicons not associated with bookmarks.
1569 TEST_F(BrowsingDataRemoverTest, RemoveFaviconsForever) { 1567 TEST_F(BrowsingDataRemoverTest, RemoveFaviconsForever) {
1570 GURL page_url("http://a"); 1568 GURL page_url("http://a");
1571 1569
1572 RemoveFaviconTester favicon_tester; 1570 RemoveFaviconTester favicon_tester;
1573 ASSERT_TRUE(favicon_tester.Init(GetProfile())); 1571 ASSERT_TRUE(favicon_tester.Init(GetProfile()));
1574 favicon_tester.VisitAndAddFavicon(page_url); 1572 favicon_tester.VisitAndAddFavicon(page_url);
1575 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url)); 1573 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url));
1576 1574
1577 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1575 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1578 BrowsingDataRemover::REMOVE_HISTORY, false); 1576 BrowsingDataRemover::REMOVE_HISTORY, false);
1579 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1577 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1580 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url)); 1578 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url));
1581 } 1579 }
1582 1580
1583 // Test that a bookmark's favicon is expired and not deleted when clearing 1581 // Test that a bookmark's favicon is expired and not deleted when clearing
1584 // history. Expiring the favicon causes the bookmark's favicon to be updated 1582 // history. Expiring the favicon causes the bookmark's favicon to be updated
1585 // when the user next visits the bookmarked page. Expiring the bookmark's 1583 // when the user next visits the bookmarked page. Expiring the bookmark's
1586 // favicon is useful when the bookmark's favicon becomes incorrect (See 1584 // favicon is useful when the bookmark's favicon becomes incorrect (See
1587 // crbug.com/474421 for a sample bug which causes this). 1585 // crbug.com/474421 for a sample bug which causes this).
1588 TEST_F(BrowsingDataRemoverTest, ExpireBookmarkFavicons) { 1586 TEST_F(BrowsingDataRemoverTest, ExpireBookmarkFavicons) {
1589 GURL bookmarked_page("http://a"); 1587 GURL bookmarked_page("http://a");
1590 1588
1591 TestingProfile* profile = GetProfile(); 1589 TestingProfile* profile = GetProfile();
1592 profile->CreateBookmarkModel(true); 1590 profile->CreateBookmarkModel(true);
1593 bookmarks::BookmarkModel* bookmark_model = 1591 bookmarks::BookmarkModel* bookmark_model =
1594 BookmarkModelFactory::GetForProfile(profile); 1592 BookmarkModelFactory::GetForProfile(profile);
1595 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); 1593 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model);
1596 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, 1594 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0,
1597 base::ASCIIToUTF16("a"), bookmarked_page); 1595 base::ASCIIToUTF16("a"), bookmarked_page);
1598 1596
1599 RemoveFaviconTester favicon_tester; 1597 RemoveFaviconTester favicon_tester;
1600 ASSERT_TRUE(favicon_tester.Init(GetProfile())); 1598 ASSERT_TRUE(favicon_tester.Init(GetProfile()));
1601 favicon_tester.VisitAndAddFavicon(bookmarked_page); 1599 favicon_tester.VisitAndAddFavicon(bookmarked_page);
1602 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); 1600 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page));
1603 1601
1604 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 1602 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
1605 BrowsingDataRemover::REMOVE_HISTORY, false); 1603 BrowsingDataRemover::REMOVE_HISTORY, false);
1606 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 1604 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
1607 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); 1605 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page));
1608 } 1606 }
1609 1607
1610 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { 1608 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
1611 BlockUntilBrowsingDataRemoved( 1609 BlockUntilBrowsingDataRemoved(
1612 BrowsingDataRemover::EVERYTHING, 1610 browsing_data::EVERYTHING,
1613 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1611 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1614 BrowsingDataRemover::REMOVE_WEBSQL | 1612 BrowsingDataRemover::REMOVE_WEBSQL |
1615 BrowsingDataRemover::REMOVE_APPCACHE | 1613 BrowsingDataRemover::REMOVE_APPCACHE |
1616 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1614 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1617 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1615 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1618 BrowsingDataRemover::REMOVE_INDEXEDDB, 1616 BrowsingDataRemover::REMOVE_INDEXEDDB,
1619 false); 1617 false);
1620 1618
1621 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1619 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1622 BrowsingDataRemover::REMOVE_WEBSQL | 1620 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 16 matching lines...) Expand all
1639 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1637 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1640 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); 1638 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL);
1641 } 1639 }
1642 1640
1643 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { 1641 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
1644 #if defined(ENABLE_EXTENSIONS) 1642 #if defined(ENABLE_EXTENSIONS)
1645 CreateMockPolicy(); 1643 CreateMockPolicy();
1646 #endif 1644 #endif
1647 1645
1648 BlockUntilBrowsingDataRemoved( 1646 BlockUntilBrowsingDataRemoved(
1649 BrowsingDataRemover::EVERYTHING, 1647 browsing_data::EVERYTHING,
1650 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1648 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1651 BrowsingDataRemover::REMOVE_WEBSQL | 1649 BrowsingDataRemover::REMOVE_WEBSQL |
1652 BrowsingDataRemover::REMOVE_APPCACHE | 1650 BrowsingDataRemover::REMOVE_APPCACHE |
1653 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1651 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1654 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1652 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1655 BrowsingDataRemover::REMOVE_INDEXEDDB, 1653 BrowsingDataRemover::REMOVE_INDEXEDDB,
1656 false); 1654 false);
1657 1655
1658 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1656 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1659 BrowsingDataRemover::REMOVE_WEBSQL | 1657 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 23 matching lines...) Expand all
1683 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1681 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1684 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1682 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1685 } 1683 }
1686 1684
1687 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { 1685 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
1688 #if defined(ENABLE_EXTENSIONS) 1686 #if defined(ENABLE_EXTENSIONS)
1689 CreateMockPolicy(); 1687 CreateMockPolicy();
1690 #endif 1688 #endif
1691 1689
1692 BlockUntilBrowsingDataRemoved( 1690 BlockUntilBrowsingDataRemoved(
1693 BrowsingDataRemover::EVERYTHING, 1691 browsing_data::EVERYTHING,
1694 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1692 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1695 BrowsingDataRemover::REMOVE_WEBSQL | 1693 BrowsingDataRemover::REMOVE_WEBSQL |
1696 BrowsingDataRemover::REMOVE_APPCACHE | 1694 BrowsingDataRemover::REMOVE_APPCACHE |
1697 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1695 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1698 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1696 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1699 BrowsingDataRemover::REMOVE_INDEXEDDB, 1697 BrowsingDataRemover::REMOVE_INDEXEDDB,
1700 false); 1698 false);
1701 1699
1702 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1700 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1703 BrowsingDataRemover::REMOVE_WEBSQL | 1701 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 23 matching lines...) Expand all
1727 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1725 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1728 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1726 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1729 } 1727 }
1730 1728
1731 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { 1729 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
1732 #if defined(ENABLE_EXTENSIONS) 1730 #if defined(ENABLE_EXTENSIONS)
1733 CreateMockPolicy(); 1731 CreateMockPolicy();
1734 #endif 1732 #endif
1735 1733
1736 BlockUntilBrowsingDataRemoved( 1734 BlockUntilBrowsingDataRemoved(
1737 BrowsingDataRemover::EVERYTHING, 1735 browsing_data::EVERYTHING,
1738 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1736 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1739 BrowsingDataRemover::REMOVE_WEBSQL | 1737 BrowsingDataRemover::REMOVE_WEBSQL |
1740 BrowsingDataRemover::REMOVE_APPCACHE | 1738 BrowsingDataRemover::REMOVE_APPCACHE |
1741 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1739 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1742 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1740 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1743 BrowsingDataRemover::REMOVE_INDEXEDDB, 1741 BrowsingDataRemover::REMOVE_INDEXEDDB,
1744 false); 1742 false);
1745 1743
1746 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1744 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1747 BrowsingDataRemover::REMOVE_WEBSQL | 1745 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 22 matching lines...) Expand all
1770 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); 1768 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy()));
1771 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1769 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1772 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1770 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1773 } 1771 }
1774 1772
1775 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) { 1773 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) {
1776 RegistrableDomainFilterBuilder builder( 1774 RegistrableDomainFilterBuilder builder(
1777 RegistrableDomainFilterBuilder::WHITELIST); 1775 RegistrableDomainFilterBuilder::WHITELIST);
1778 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1776 builder.AddRegisterableDomain(kTestRegisterableDomain1);
1779 // Remove Origin 1. 1777 // Remove Origin 1.
1780 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 1778 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
1781 BrowsingDataRemover::REMOVE_APPCACHE | 1779 BrowsingDataRemover::REMOVE_APPCACHE |
1782 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1780 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1783 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1781 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1784 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1782 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1785 BrowsingDataRemover::REMOVE_INDEXEDDB | 1783 BrowsingDataRemover::REMOVE_INDEXEDDB |
1786 BrowsingDataRemover::REMOVE_WEBSQL, 1784 BrowsingDataRemover::REMOVE_WEBSQL,
1787 builder); 1785 builder);
1788 1786
1789 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 1787 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
1790 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1788 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
(...skipping 17 matching lines...) Expand all
1808 EXPECT_EQ(removal_data.quota_storage_remove_mask, 1806 EXPECT_EQ(removal_data.quota_storage_remove_mask,
1809 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); 1807 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL);
1810 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); 1808 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy()));
1811 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 1809 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
1812 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 1810 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
1813 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy())); 1811 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy()));
1814 } 1812 }
1815 1813
1816 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { 1814 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
1817 BlockUntilBrowsingDataRemoved( 1815 BlockUntilBrowsingDataRemoved(
1818 BrowsingDataRemover::LAST_HOUR, 1816 browsing_data::LAST_HOUR,
1819 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1817 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1820 BrowsingDataRemover::REMOVE_WEBSQL | 1818 BrowsingDataRemover::REMOVE_WEBSQL |
1821 BrowsingDataRemover::REMOVE_APPCACHE | 1819 BrowsingDataRemover::REMOVE_APPCACHE |
1822 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1820 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1823 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1821 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1824 BrowsingDataRemover::REMOVE_INDEXEDDB, 1822 BrowsingDataRemover::REMOVE_INDEXEDDB,
1825 false); 1823 false);
1826 1824
1827 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1825 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1828 BrowsingDataRemover::REMOVE_WEBSQL | 1826 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 19 matching lines...) Expand all
1848 // beginning of time. 1846 // beginning of time.
1849 uint32_t expected_quota_mask = 1847 uint32_t expected_quota_mask =
1850 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; 1848 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT;
1851 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); 1849 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask);
1852 // Check removal begin time. 1850 // Check removal begin time.
1853 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); 1851 EXPECT_EQ(removal_data.remove_begin, GetBeginTime());
1854 } 1852 }
1855 1853
1856 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { 1854 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
1857 BlockUntilBrowsingDataRemoved( 1855 BlockUntilBrowsingDataRemoved(
1858 BrowsingDataRemover::LAST_WEEK, 1856 browsing_data::LAST_WEEK,
1859 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1857 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1860 BrowsingDataRemover::REMOVE_WEBSQL | 1858 BrowsingDataRemover::REMOVE_WEBSQL |
1861 BrowsingDataRemover::REMOVE_APPCACHE | 1859 BrowsingDataRemover::REMOVE_APPCACHE |
1862 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1860 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1863 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1861 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1864 BrowsingDataRemover::REMOVE_INDEXEDDB, 1862 BrowsingDataRemover::REMOVE_INDEXEDDB,
1865 false); 1863 false);
1866 1864
1867 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1865 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1868 BrowsingDataRemover::REMOVE_WEBSQL | 1866 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 25 matching lines...) Expand all
1894 } 1892 }
1895 1893
1896 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { 1894 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
1897 #if defined(ENABLE_EXTENSIONS) 1895 #if defined(ENABLE_EXTENSIONS)
1898 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); 1896 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy();
1899 // Protect kOrigin1. 1897 // Protect kOrigin1.
1900 policy->AddProtected(kOrigin1.GetOrigin()); 1898 policy->AddProtected(kOrigin1.GetOrigin());
1901 #endif 1899 #endif
1902 1900
1903 BlockUntilBrowsingDataRemoved( 1901 BlockUntilBrowsingDataRemoved(
1904 BrowsingDataRemover::EVERYTHING, 1902 browsing_data::EVERYTHING,
1905 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1903 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1906 BrowsingDataRemover::REMOVE_WEBSQL | 1904 BrowsingDataRemover::REMOVE_WEBSQL |
1907 BrowsingDataRemover::REMOVE_APPCACHE | 1905 BrowsingDataRemover::REMOVE_APPCACHE |
1908 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1906 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1909 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1907 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1910 BrowsingDataRemover::REMOVE_INDEXEDDB, 1908 BrowsingDataRemover::REMOVE_INDEXEDDB,
1911 false); 1909 false);
1912 1910
1913 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1911 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1914 BrowsingDataRemover::REMOVE_WEBSQL | 1912 BrowsingDataRemover::REMOVE_WEBSQL |
(...skipping 29 matching lines...) Expand all
1944 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); 1942 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy();
1945 // Protect kOrigin1. 1943 // Protect kOrigin1.
1946 policy->AddProtected(kOrigin1.GetOrigin()); 1944 policy->AddProtected(kOrigin1.GetOrigin());
1947 #endif 1945 #endif
1948 1946
1949 RegistrableDomainFilterBuilder builder( 1947 RegistrableDomainFilterBuilder builder(
1950 RegistrableDomainFilterBuilder::WHITELIST); 1948 RegistrableDomainFilterBuilder::WHITELIST);
1951 builder.AddRegisterableDomain(kTestRegisterableDomain1); 1949 builder.AddRegisterableDomain(kTestRegisterableDomain1);
1952 1950
1953 // Try to remove kOrigin1. Expect failure. 1951 // Try to remove kOrigin1. Expect failure.
1954 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 1952 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
1955 BrowsingDataRemover::REMOVE_APPCACHE | 1953 BrowsingDataRemover::REMOVE_APPCACHE |
1956 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1954 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
1957 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 1955 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
1958 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 1956 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
1959 BrowsingDataRemover::REMOVE_INDEXEDDB | 1957 BrowsingDataRemover::REMOVE_INDEXEDDB |
1960 BrowsingDataRemover::REMOVE_WEBSQL, 1958 BrowsingDataRemover::REMOVE_WEBSQL,
1961 builder); 1959 builder);
1962 1960
1963 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 1961 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
1964 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 1962 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
(...skipping 28 matching lines...) Expand all
1993 1991
1994 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) { 1992 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) {
1995 #if defined(ENABLE_EXTENSIONS) 1993 #if defined(ENABLE_EXTENSIONS)
1996 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); 1994 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy();
1997 // Protect kOrigin1. 1995 // Protect kOrigin1.
1998 policy->AddProtected(kOrigin1.GetOrigin()); 1996 policy->AddProtected(kOrigin1.GetOrigin());
1999 #endif 1997 #endif
2000 1998
2001 // Try to remove kOrigin1. Expect success. 1999 // Try to remove kOrigin1. Expect success.
2002 BlockUntilBrowsingDataRemoved( 2000 BlockUntilBrowsingDataRemoved(
2003 BrowsingDataRemover::EVERYTHING, 2001 browsing_data::EVERYTHING,
2004 BrowsingDataRemover::REMOVE_APPCACHE | 2002 BrowsingDataRemover::REMOVE_APPCACHE |
2005 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 2003 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
2006 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 2004 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
2007 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 2005 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
2008 BrowsingDataRemover::REMOVE_INDEXEDDB | 2006 BrowsingDataRemover::REMOVE_INDEXEDDB |
2009 BrowsingDataRemover::REMOVE_WEBSQL, 2007 BrowsingDataRemover::REMOVE_WEBSQL,
2010 true); 2008 true);
2011 2009
2012 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 2010 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
2013 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 2011 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
(...skipping 24 matching lines...) Expand all
2038 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); 2036 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy()));
2039 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); 2037 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy()));
2040 } 2038 }
2041 2039
2042 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { 2040 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
2043 #if defined(ENABLE_EXTENSIONS) 2041 #if defined(ENABLE_EXTENSIONS)
2044 CreateMockPolicy(); 2042 CreateMockPolicy();
2045 #endif 2043 #endif
2046 2044
2047 BlockUntilBrowsingDataRemoved( 2045 BlockUntilBrowsingDataRemoved(
2048 BrowsingDataRemover::EVERYTHING, 2046 browsing_data::EVERYTHING,
2049 BrowsingDataRemover::REMOVE_APPCACHE | 2047 BrowsingDataRemover::REMOVE_APPCACHE |
2050 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 2048 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
2051 BrowsingDataRemover::REMOVE_CACHE_STORAGE | 2049 BrowsingDataRemover::REMOVE_CACHE_STORAGE |
2052 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 2050 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
2053 BrowsingDataRemover::REMOVE_INDEXEDDB | 2051 BrowsingDataRemover::REMOVE_INDEXEDDB |
2054 BrowsingDataRemover::REMOVE_WEBSQL, 2052 BrowsingDataRemover::REMOVE_WEBSQL,
2055 false); 2053 false);
2056 2054
2057 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 2055 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
2058 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | 2056 BrowsingDataRemover::REMOVE_SERVICE_WORKERS |
(...skipping 29 matching lines...) Expand all
2088 2086
2089 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 2087 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
2090 2088
2091 tester.AddHistory(kOrigin1, base::Time::Now()); 2089 tester.AddHistory(kOrigin1, base::Time::Now());
2092 tester.AddHistory(kOrigin2, two_hours_ago); 2090 tester.AddHistory(kOrigin2, two_hours_ago);
2093 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); 2091 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1));
2094 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); 2092 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2));
2095 2093
2096 RegistrableDomainFilterBuilder builder( 2094 RegistrableDomainFilterBuilder builder(
2097 RegistrableDomainFilterBuilder::BLACKLIST); 2095 RegistrableDomainFilterBuilder::BLACKLIST);
2098 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 2096 BlockUntilOriginDataRemoved(browsing_data::LAST_HOUR,
2099 BrowsingDataRemover::REMOVE_HISTORY, builder); 2097 BrowsingDataRemover::REMOVE_HISTORY, builder);
2100 2098
2101 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 2099 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
2102 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2100 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2103 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); 2101 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1));
2104 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); 2102 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2));
2105 } 2103 }
2106 2104
2107 // Verify that clearing autofill form data works. 2105 // Verify that clearing autofill form data works.
2108 TEST_F(BrowsingDataRemoverTest, AutofillRemovalLastHour) { 2106 TEST_F(BrowsingDataRemoverTest, AutofillRemovalLastHour) {
2109 GetProfile()->CreateWebDataService(); 2107 GetProfile()->CreateWebDataService();
2110 RemoveAutofillTester tester(GetProfile()); 2108 RemoveAutofillTester tester(GetProfile());
2111 2109
2112 ASSERT_FALSE(tester.HasProfile()); 2110 ASSERT_FALSE(tester.HasProfile());
2113 tester.AddProfilesAndCards(); 2111 tester.AddProfilesAndCards();
2114 ASSERT_TRUE(tester.HasProfile()); 2112 ASSERT_TRUE(tester.HasProfile());
2115 2113
2116 BlockUntilBrowsingDataRemoved( 2114 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
2117 BrowsingDataRemover::LAST_HOUR, 2115 BrowsingDataRemover::REMOVE_FORM_DATA, false);
2118 BrowsingDataRemover::REMOVE_FORM_DATA, false);
2119 2116
2120 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); 2117 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask());
2121 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2118 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2122 ASSERT_FALSE(tester.HasProfile()); 2119 ASSERT_FALSE(tester.HasProfile());
2123 } 2120 }
2124 2121
2125 TEST_F(BrowsingDataRemoverTest, AutofillRemovalEverything) { 2122 TEST_F(BrowsingDataRemoverTest, AutofillRemovalEverything) {
2126 GetProfile()->CreateWebDataService(); 2123 GetProfile()->CreateWebDataService();
2127 RemoveAutofillTester tester(GetProfile()); 2124 RemoveAutofillTester tester(GetProfile());
2128 2125
2129 ASSERT_FALSE(tester.HasProfile()); 2126 ASSERT_FALSE(tester.HasProfile());
2130 tester.AddProfilesAndCards(); 2127 tester.AddProfilesAndCards();
2131 ASSERT_TRUE(tester.HasProfile()); 2128 ASSERT_TRUE(tester.HasProfile());
2132 2129
2133 BlockUntilBrowsingDataRemoved( 2130 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2134 BrowsingDataRemover::EVERYTHING, 2131 BrowsingDataRemover::REMOVE_FORM_DATA, false);
2135 BrowsingDataRemover::REMOVE_FORM_DATA, false);
2136 2132
2137 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); 2133 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask());
2138 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2134 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2139 ASSERT_FALSE(tester.HasProfile()); 2135 ASSERT_FALSE(tester.HasProfile());
2140 } 2136 }
2141 2137
2142 // Verify that clearing autofill form data works. 2138 // Verify that clearing autofill form data works.
2143 TEST_F(BrowsingDataRemoverTest, AutofillOriginsRemovedWithHistory) { 2139 TEST_F(BrowsingDataRemoverTest, AutofillOriginsRemovedWithHistory) {
2144 GetProfile()->CreateWebDataService(); 2140 GetProfile()->CreateWebDataService();
2145 RemoveAutofillTester tester(GetProfile()); 2141 RemoveAutofillTester tester(GetProfile());
2146 2142
2147 tester.AddProfilesAndCards(); 2143 tester.AddProfilesAndCards();
2148 EXPECT_FALSE(tester.HasOrigin(std::string())); 2144 EXPECT_FALSE(tester.HasOrigin(std::string()));
2149 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); 2145 EXPECT_TRUE(tester.HasOrigin(kWebOrigin));
2150 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); 2146 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin));
2151 2147
2152 BlockUntilBrowsingDataRemoved( 2148 BlockUntilBrowsingDataRemoved(browsing_data::LAST_HOUR,
2153 BrowsingDataRemover::LAST_HOUR, 2149 BrowsingDataRemover::REMOVE_HISTORY, false);
2154 BrowsingDataRemover::REMOVE_HISTORY, false);
2155 2150
2156 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 2151 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
2157 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2152 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2158 EXPECT_TRUE(tester.HasOrigin(std::string())); 2153 EXPECT_TRUE(tester.HasOrigin(std::string()));
2159 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); 2154 EXPECT_FALSE(tester.HasOrigin(kWebOrigin));
2160 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); 2155 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin));
2161 } 2156 }
2162 2157
2163 TEST_F(BrowsingDataRemoverTest, CompletionInhibition) { 2158 TEST_F(BrowsingDataRemoverTest, CompletionInhibition) {
2164 // The |completion_inhibitor| on the stack should prevent removal sessions 2159 // The |completion_inhibitor| on the stack should prevent removal sessions
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2218 2213
2219 // Finishing after shutdown shouldn't break anything. 2214 // Finishing after shutdown shouldn't break anything.
2220 completion_inhibitor.ContinueToCompletion(); 2215 completion_inhibitor.ContinueToCompletion();
2221 completion_observer.BlockUntilCompletion(); 2216 completion_observer.BlockUntilCompletion();
2222 } 2217 }
2223 2218
2224 TEST_F(BrowsingDataRemoverTest, ZeroSuggestCacheClear) { 2219 TEST_F(BrowsingDataRemoverTest, ZeroSuggestCacheClear) {
2225 PrefService* prefs = GetProfile()->GetPrefs(); 2220 PrefService* prefs = GetProfile()->GetPrefs();
2226 prefs->SetString(omnibox::kZeroSuggestCachedResults, 2221 prefs->SetString(omnibox::kZeroSuggestCachedResults,
2227 "[\"\", [\"foo\", \"bar\"]]"); 2222 "[\"\", [\"foo\", \"bar\"]]");
2228 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 2223 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2229 BrowsingDataRemover::REMOVE_COOKIES, 2224 BrowsingDataRemover::REMOVE_COOKIES, false);
2230 false);
2231 2225
2232 // Expect the prefs to be cleared when cookies are removed. 2226 // Expect the prefs to be cleared when cookies are removed.
2233 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); 2227 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty());
2234 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 2228 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
2235 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2229 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2236 } 2230 }
2237 2231
2238 #if defined(OS_CHROMEOS) 2232 #if defined(OS_CHROMEOS)
2239 TEST_F(BrowsingDataRemoverTest, ContentProtectionPlatformKeysRemoval) { 2233 TEST_F(BrowsingDataRemoverTest, ContentProtectionPlatformKeysRemoval) {
2240 chromeos::ScopedTestDeviceSettingsService test_device_settings_service; 2234 chromeos::ScopedTestDeviceSettingsService test_device_settings_service;
2241 chromeos::ScopedTestCrosSettings test_cros_settings; 2235 chromeos::ScopedTestCrosSettings test_cros_settings;
2242 chromeos::MockUserManager* mock_user_manager = 2236 chromeos::MockUserManager* mock_user_manager =
2243 new testing::NiceMock<chromeos::MockUserManager>(); 2237 new testing::NiceMock<chromeos::MockUserManager>();
2244 mock_user_manager->SetActiveUser( 2238 mock_user_manager->SetActiveUser(
2245 AccountId::FromUserEmail("test@example.com")); 2239 AccountId::FromUserEmail("test@example.com"));
2246 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager); 2240 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager);
2247 2241
2248 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = 2242 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter =
2249 chromeos::DBusThreadManager::GetSetterForTesting(); 2243 chromeos::DBusThreadManager::GetSetterForTesting();
2250 chromeos::MockCryptohomeClient* cryptohome_client = 2244 chromeos::MockCryptohomeClient* cryptohome_client =
2251 new chromeos::MockCryptohomeClient; 2245 new chromeos::MockCryptohomeClient;
2252 dbus_setter->SetCryptohomeClient( 2246 dbus_setter->SetCryptohomeClient(
2253 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); 2247 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client));
2254 2248
2255 // Expect exactly one call. No calls means no attempt to delete keys and more 2249 // Expect exactly one call. No calls means no attempt to delete keys and more
2256 // than one call means a significant performance problem. 2250 // than one call means a significant performance problem.
2257 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) 2251 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _))
2258 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); 2252 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall)));
2259 2253
2260 BlockUntilBrowsingDataRemoved( 2254 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2261 BrowsingDataRemover::EVERYTHING, 2255 BrowsingDataRemover::REMOVE_MEDIA_LICENSES,
2262 BrowsingDataRemover::REMOVE_MEDIA_LICENSES, false); 2256 false);
2263 2257
2264 chromeos::DBusThreadManager::Shutdown(); 2258 chromeos::DBusThreadManager::Shutdown();
2265 } 2259 }
2266 #endif 2260 #endif
2267 2261
2268 TEST_F(BrowsingDataRemoverTest, DomainReliability_Null) { 2262 TEST_F(BrowsingDataRemoverTest, DomainReliability_Null) {
2269 const ClearDomainReliabilityTester& tester = 2263 const ClearDomainReliabilityTester& tester =
2270 clear_domain_reliability_tester(); 2264 clear_domain_reliability_tester();
2271 2265
2272 EXPECT_EQ(0u, tester.clear_count()); 2266 EXPECT_EQ(0u, tester.clear_count());
2273 } 2267 }
2274 2268
2275 TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons) { 2269 TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons) {
2276 const ClearDomainReliabilityTester& tester = 2270 const ClearDomainReliabilityTester& tester =
2277 clear_domain_reliability_tester(); 2271 clear_domain_reliability_tester();
2278 2272
2279 BlockUntilBrowsingDataRemoved( 2273 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2280 BrowsingDataRemover::EVERYTHING, 2274 BrowsingDataRemover::REMOVE_HISTORY, false);
2281 BrowsingDataRemover::REMOVE_HISTORY, false);
2282 EXPECT_EQ(1u, tester.clear_count()); 2275 EXPECT_EQ(1u, tester.clear_count());
2283 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); 2276 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode());
2284 } 2277 }
2285 2278
2286 TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) { 2279 TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) {
2287 const ClearDomainReliabilityTester& tester = 2280 const ClearDomainReliabilityTester& tester =
2288 clear_domain_reliability_tester(); 2281 clear_domain_reliability_tester();
2289 2282
2290 BlockUntilBrowsingDataRemoved( 2283 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2291 BrowsingDataRemover::EVERYTHING, 2284 BrowsingDataRemover::REMOVE_COOKIES, false);
2292 BrowsingDataRemover::REMOVE_COOKIES, false);
2293 EXPECT_EQ(1u, tester.clear_count()); 2285 EXPECT_EQ(1u, tester.clear_count());
2294 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); 2286 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
2295 } 2287 }
2296 2288
2297 TEST_F(BrowsingDataRemoverTest, DomainReliability_ContextsWin) { 2289 TEST_F(BrowsingDataRemoverTest, DomainReliability_ContextsWin) {
2298 const ClearDomainReliabilityTester& tester = 2290 const ClearDomainReliabilityTester& tester =
2299 clear_domain_reliability_tester(); 2291 clear_domain_reliability_tester();
2300 2292
2301 BlockUntilBrowsingDataRemoved( 2293 BlockUntilBrowsingDataRemoved(
2302 BrowsingDataRemover::EVERYTHING, 2294 browsing_data::EVERYTHING,
2303 BrowsingDataRemover::REMOVE_HISTORY | 2295 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES,
2304 BrowsingDataRemover::REMOVE_COOKIES, false); 2296 false);
2305 EXPECT_EQ(1u, tester.clear_count()); 2297 EXPECT_EQ(1u, tester.clear_count());
2306 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); 2298 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
2307 } 2299 }
2308 2300
2309 TEST_F(BrowsingDataRemoverTest, DomainReliability_ProtectedOrigins) { 2301 TEST_F(BrowsingDataRemoverTest, DomainReliability_ProtectedOrigins) {
2310 const ClearDomainReliabilityTester& tester = 2302 const ClearDomainReliabilityTester& tester =
2311 clear_domain_reliability_tester(); 2303 clear_domain_reliability_tester();
2312 2304
2313 BlockUntilBrowsingDataRemoved( 2305 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2314 BrowsingDataRemover::EVERYTHING, 2306 BrowsingDataRemover::REMOVE_COOKIES, true);
2315 BrowsingDataRemover::REMOVE_COOKIES, true);
2316 EXPECT_EQ(1u, tester.clear_count()); 2307 EXPECT_EQ(1u, tester.clear_count());
2317 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); 2308 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
2318 } 2309 }
2319 2310
2320 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since 2311 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since
2321 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed 2312 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed
2322 // for some unrelated test cases. This should be fixed so it tests the no- 2313 // for some unrelated test cases. This should be fixed so it tests the no-
2323 // monitor case again. 2314 // monitor case again.
2324 TEST_F(BrowsingDataRemoverTest, DISABLED_DomainReliability_NoMonitor) { 2315 TEST_F(BrowsingDataRemoverTest, DISABLED_DomainReliability_NoMonitor) {
2325 BlockUntilBrowsingDataRemoved( 2316 BlockUntilBrowsingDataRemoved(
2326 BrowsingDataRemover::EVERYTHING, 2317 browsing_data::EVERYTHING,
2327 BrowsingDataRemover::REMOVE_HISTORY | 2318 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES,
2328 BrowsingDataRemover::REMOVE_COOKIES, false); 2319 false);
2329 } 2320 }
2330 2321
2331 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByTimeOnly) { 2322 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByTimeOnly) {
2332 RemoveDownloadsTester tester(GetProfile()); 2323 RemoveDownloadsTester tester(GetProfile());
2333 base::Callback<bool(const GURL&)> filter = 2324 base::Callback<bool(const GURL&)> filter =
2334 BrowsingDataFilterBuilder::BuildNoopFilter(); 2325 BrowsingDataFilterBuilder::BuildNoopFilter();
2335 2326
2336 EXPECT_CALL( 2327 EXPECT_CALL(
2337 *tester.download_manager(), 2328 *tester.download_manager(),
2338 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); 2329 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _));
2339 2330
2340 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 2331 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2341 BrowsingDataRemover::REMOVE_DOWNLOADS, false); 2332 BrowsingDataRemover::REMOVE_DOWNLOADS, false);
2342 } 2333 }
2343 2334
2344 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByOrigin) { 2335 TEST_F(BrowsingDataRemoverTest, RemoveDownloadsByOrigin) {
2345 RemoveDownloadsTester tester(GetProfile()); 2336 RemoveDownloadsTester tester(GetProfile());
2346 RegistrableDomainFilterBuilder builder( 2337 RegistrableDomainFilterBuilder builder(
2347 RegistrableDomainFilterBuilder::WHITELIST); 2338 RegistrableDomainFilterBuilder::WHITELIST);
2348 builder.AddRegisterableDomain(kTestRegisterableDomain1); 2339 builder.AddRegisterableDomain(kTestRegisterableDomain1);
2349 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); 2340 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
2350 2341
2351 EXPECT_CALL( 2342 EXPECT_CALL(
2352 *tester.download_manager(), 2343 *tester.download_manager(),
2353 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); 2344 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _));
2354 2345
2355 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 2346 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
2356 BrowsingDataRemover::REMOVE_DOWNLOADS, builder); 2347 BrowsingDataRemover::REMOVE_DOWNLOADS, builder);
2357 } 2348 }
2358 2349
2359 TEST_F(BrowsingDataRemoverTest, RemovePasswordStatistics) { 2350 TEST_F(BrowsingDataRemoverTest, RemovePasswordStatistics) {
2360 RemovePasswordsTester tester(GetProfile()); 2351 RemovePasswordsTester tester(GetProfile());
2361 2352
2362 EXPECT_CALL(*tester.store(), RemoveStatisticsCreatedBetweenImpl( 2353 EXPECT_CALL(*tester.store(), RemoveStatisticsCreatedBetweenImpl(
2363 base::Time(), base::Time::Max())); 2354 base::Time(), base::Time::Max()));
2364 BlockUntilBrowsingDataRemoved( 2355 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2365 BrowsingDataRemover::EVERYTHING, 2356 BrowsingDataRemover::REMOVE_HISTORY, false);
2366 BrowsingDataRemover::REMOVE_HISTORY, false);
2367 } 2357 }
2368 2358
2369 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByTimeOnly) { 2359 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByTimeOnly) {
2370 RemovePasswordsTester tester(GetProfile()); 2360 RemovePasswordsTester tester(GetProfile());
2371 base::Callback<bool(const GURL&)> filter = 2361 base::Callback<bool(const GURL&)> filter =
2372 BrowsingDataFilterBuilder::BuildNoopFilter(); 2362 BrowsingDataFilterBuilder::BuildNoopFilter();
2373 2363
2374 EXPECT_CALL(*tester.store(), 2364 EXPECT_CALL(*tester.store(),
2375 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) 2365 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _))
2376 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 2366 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
2377 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 2367 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2378 BrowsingDataRemover::REMOVE_PASSWORDS, false); 2368 BrowsingDataRemover::REMOVE_PASSWORDS, false);
2379 } 2369 }
2380 2370
2381 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByOrigin) { 2371 TEST_F(BrowsingDataRemoverTest, RemovePasswordsByOrigin) {
2382 RemovePasswordsTester tester(GetProfile()); 2372 RemovePasswordsTester tester(GetProfile());
2383 RegistrableDomainFilterBuilder builder( 2373 RegistrableDomainFilterBuilder builder(
2384 RegistrableDomainFilterBuilder::WHITELIST); 2374 RegistrableDomainFilterBuilder::WHITELIST);
2385 builder.AddRegisterableDomain(kTestRegisterableDomain1); 2375 builder.AddRegisterableDomain(kTestRegisterableDomain1);
2386 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); 2376 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
2387 2377
2388 EXPECT_CALL(*tester.store(), 2378 EXPECT_CALL(*tester.store(),
2389 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) 2379 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _))
2390 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 2380 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
2391 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING, 2381 BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
2392 BrowsingDataRemover::REMOVE_PASSWORDS, builder); 2382 BrowsingDataRemover::REMOVE_PASSWORDS, builder);
2393 } 2383 }
2394 2384
2395 TEST_F(BrowsingDataRemoverTest, DisableAutoSignIn) { 2385 TEST_F(BrowsingDataRemoverTest, DisableAutoSignIn) {
2396 RemovePasswordsTester tester(GetProfile()); 2386 RemovePasswordsTester tester(GetProfile());
2397 2387
2398 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) 2388 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl())
2399 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 2389 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
2400 2390
2401 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 2391 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2402 BrowsingDataRemover::REMOVE_COOKIES, false); 2392 BrowsingDataRemover::REMOVE_COOKIES, false);
2403 } 2393 }
2404 2394
2405 TEST_F(BrowsingDataRemoverTest, DisableAutoSignInAfterRemovingPasswords) { 2395 TEST_F(BrowsingDataRemoverTest, DisableAutoSignInAfterRemovingPasswords) {
2406 RemovePasswordsTester tester(GetProfile()); 2396 RemovePasswordsTester tester(GetProfile());
2407 2397
2408 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) 2398 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _))
2409 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 2399 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
2410 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl()) 2400 EXPECT_CALL(*tester.store(), DisableAutoSignInForAllLoginsImpl())
2411 .WillOnce(Return(password_manager::PasswordStoreChangeList())); 2401 .WillOnce(Return(password_manager::PasswordStoreChangeList()));
2412 2402
2413 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 2403 BlockUntilBrowsingDataRemoved(browsing_data::EVERYTHING,
2414 BrowsingDataRemover::REMOVE_COOKIES | 2404 BrowsingDataRemover::REMOVE_COOKIES |
2415 BrowsingDataRemover::REMOVE_PASSWORDS, 2405 BrowsingDataRemover::REMOVE_PASSWORDS,
2416 false); 2406 false);
2417 } 2407 }
2418 2408
2419 TEST_F(BrowsingDataRemoverTest, RemoveContentSettingsWithBlacklist) { 2409 TEST_F(BrowsingDataRemoverTest, RemoveContentSettingsWithBlacklist) {
2420 // Add our settings. 2410 // Add our settings.
2421 HostContentSettingsMap* host_content_settings_map = 2411 HostContentSettingsMap* host_content_settings_map =
2422 HostContentSettingsMapFactory::GetForProfile(GetProfile()); 2412 HostContentSettingsMapFactory::GetForProfile(GetProfile());
2423 host_content_settings_map->SetWebsiteSettingDefaultScope( 2413 host_content_settings_map->SetWebsiteSettingDefaultScope(
2424 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 2414 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
2425 base::WrapUnique(new base::DictionaryValue())); 2415 base::WrapUnique(new base::DictionaryValue()));
2426 host_content_settings_map->SetWebsiteSettingDefaultScope( 2416 host_content_settings_map->SetWebsiteSettingDefaultScope(
2427 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 2417 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
2428 base::WrapUnique(new base::DictionaryValue())); 2418 base::WrapUnique(new base::DictionaryValue()));
2429 host_content_settings_map->SetWebsiteSettingDefaultScope( 2419 host_content_settings_map->SetWebsiteSettingDefaultScope(
2430 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 2420 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
2431 base::WrapUnique(new base::DictionaryValue())); 2421 base::WrapUnique(new base::DictionaryValue()));
2432 host_content_settings_map->SetWebsiteSettingDefaultScope( 2422 host_content_settings_map->SetWebsiteSettingDefaultScope(
2433 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), 2423 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(),
2434 base::WrapUnique(new base::DictionaryValue())); 2424 base::WrapUnique(new base::DictionaryValue()));
2435 2425
2436 // Clear all except for origin1 and origin3. 2426 // Clear all except for origin1 and origin3.
2437 RegistrableDomainFilterBuilder filter( 2427 RegistrableDomainFilterBuilder filter(
2438 RegistrableDomainFilterBuilder::BLACKLIST); 2428 RegistrableDomainFilterBuilder::BLACKLIST);
2439 filter.AddRegisterableDomain(kTestRegisterableDomain1); 2429 filter.AddRegisterableDomain(kTestRegisterableDomain1);
2440 filter.AddRegisterableDomain(kTestRegisterableDomain3); 2430 filter.AddRegisterableDomain(kTestRegisterableDomain3);
2441 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 2431 BlockUntilOriginDataRemoved(browsing_data::LAST_HOUR,
2442 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, 2432 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA,
2443 filter); 2433 filter);
2444 2434
2445 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask()); 2435 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask());
2446 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); 2436 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask());
2447 2437
2448 // Verify we only have true, and they're origin1, origin3, and origin4. 2438 // Verify we only have true, and they're origin1, origin3, and origin4.
2449 ContentSettingsForOneType host_settings; 2439 ContentSettingsForOneType host_settings;
2450 host_content_settings_map->GetSettingsForOneType( 2440 host_content_settings_map->GetSettingsForOneType(
2451 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); 2441 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
2538 BrowsingDataRemover::ClearSettingsForOneTypeWithPredicate( 2528 BrowsingDataRemover::ClearSettingsForOneTypeWithPredicate(
2539 host_content_settings_map, CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, 2529 host_content_settings_map, CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT,
2540 base::Bind(&MatchPrimaryPattern, http_pattern)); 2530 base::Bind(&MatchPrimaryPattern, http_pattern));
2541 // Verify we only have one, and it's url1. 2531 // Verify we only have one, and it's url1.
2542 host_content_settings_map->GetSettingsForOneType( 2532 host_content_settings_map->GetSettingsForOneType(
2543 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); 2533 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings);
2544 EXPECT_EQ(1u, host_settings.size()); 2534 EXPECT_EQ(1u, host_settings.size());
2545 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(url1), 2535 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(url1),
2546 host_settings[0].primary_pattern); 2536 host_settings[0].primary_pattern);
2547 } 2537 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_remover_browsertest.cc ('k') | chrome/browser/browsing_data/cache_counter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698