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

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

Powered by Google App Engine
This is Rietveld 408576698