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

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

Powered by Google App Engine
This is Rietveld 408576698