OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <memory> | 9 #include <memory> |
10 #include <set> | 10 #include <set> |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "base/strings/utf_string_conversions.h" | 26 #include "base/strings/utf_string_conversions.h" |
27 #include "base/task/cancelable_task_tracker.h" | 27 #include "base/task/cancelable_task_tracker.h" |
28 #include "base/threading/thread_task_runner_handle.h" | 28 #include "base/threading/thread_task_runner_handle.h" |
29 #include "build/build_config.h" | 29 #include "build/build_config.h" |
30 #include "chrome/browser/browsing_data/browsing_data_filter_builder.h" | 30 #include "chrome/browser/browsing_data/browsing_data_filter_builder.h" |
31 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 31 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
32 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 32 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
33 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" | 33 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" |
34 #include "chrome/browser/browsing_data/browsing_data_remover_impl.h" | 34 #include "chrome/browser/browsing_data/browsing_data_remover_impl.h" |
35 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" | 35 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" |
36 #include "chrome/browser/browsing_data/registrable_domain_filter_builder.h" | |
37 #include "chrome/test/base/testing_profile.h" | 36 #include "chrome/test/base/testing_profile.h" |
38 #include "content/public/browser/browser_context.h" | 37 #include "content/public/browser/browser_context.h" |
39 #include "content/public/browser/cookie_store_factory.h" | 38 #include "content/public/browser/cookie_store_factory.h" |
40 #include "content/public/browser/dom_storage_context.h" | 39 #include "content/public/browser/dom_storage_context.h" |
41 #include "content/public/browser/local_storage_usage_info.h" | 40 #include "content/public/browser/local_storage_usage_info.h" |
42 #include "content/public/browser/permission_type.h" | 41 #include "content/public/browser/permission_type.h" |
43 #include "content/public/browser/storage_partition.h" | 42 #include "content/public/browser/storage_partition.h" |
44 #include "content/public/test/mock_download_manager.h" | 43 #include "content/public/test/mock_download_manager.h" |
45 #include "content/public/test/test_browser_thread.h" | 44 #include "content/public/test/test_browser_thread.h" |
46 #include "content/public/test/test_browser_thread_bundle.h" | 45 #include "content/public/test/test_browser_thread_bundle.h" |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
580 | 579 |
581 // Save so we can verify later. | 580 // Save so we can verify later. |
582 storage_partition_removal_data_ = | 581 storage_partition_removal_data_ = |
583 storage_partition.GetStoragePartitionRemovalData(); | 582 storage_partition.GetStoragePartitionRemovalData(); |
584 } | 583 } |
585 | 584 |
586 void BlockUntilOriginDataRemoved( | 585 void BlockUntilOriginDataRemoved( |
587 const base::Time& delete_begin, | 586 const base::Time& delete_begin, |
588 const base::Time& delete_end, | 587 const base::Time& delete_end, |
589 int remove_mask, | 588 int remove_mask, |
590 const BrowsingDataFilterBuilder& filter_builder) { | 589 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { |
591 TestStoragePartition storage_partition; | 590 TestStoragePartition storage_partition; |
592 remover_->OverrideStoragePartitionForTesting(&storage_partition); | 591 remover_->OverrideStoragePartitionForTesting(&storage_partition); |
593 | 592 |
594 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 593 BrowsingDataRemoverCompletionObserver completion_observer(remover_); |
595 remover_->RemoveImpl(delete_begin, delete_end, remove_mask, filter_builder, | 594 remover_->RemoveWithFilterAndReply( |
596 BrowsingDataHelper::UNPROTECTED_WEB); | 595 delete_begin, delete_end, remove_mask, |
597 completion_inhibitor.BlockUntilNearCompletion(); | 596 BrowsingDataHelper::UNPROTECTED_WEB, |
598 completion_inhibitor.ContinueToCompletion(); | 597 std::move(filter_builder), &completion_observer); |
| 598 completion_observer.BlockUntilCompletion(); |
599 | 599 |
600 // Save so we can verify later. | 600 // Save so we can verify later. |
601 storage_partition_removal_data_ = | 601 storage_partition_removal_data_ = |
602 storage_partition.GetStoragePartitionRemovalData(); | 602 storage_partition.GetStoragePartitionRemovalData(); |
603 } | 603 } |
604 | 604 |
605 BrowserContext* GetBrowserContext() { | 605 BrowserContext* GetBrowserContext() { |
606 return browser_context_.get(); | 606 return browser_context_.get(); |
607 } | 607 } |
608 | 608 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
698 EXPECT_EQ(removal_data.remove_mask, | 698 EXPECT_EQ(removal_data.remove_mask, |
699 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 699 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
700 // Removing with time period other than all time should not clear | 700 // Removing with time period other than all time should not clear |
701 // persistent storage data. | 701 // persistent storage data. |
702 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 702 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
703 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 703 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
704 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 704 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
705 } | 705 } |
706 | 706 |
707 TEST_F(BrowsingDataRemoverImplTest, RemoveCookiesDomainBlacklist) { | 707 TEST_F(BrowsingDataRemoverImplTest, RemoveCookiesDomainBlacklist) { |
708 RegistrableDomainFilterBuilder filter( | 708 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
709 RegistrableDomainFilterBuilder::BLACKLIST); | 709 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
710 filter.AddRegisterableDomain(kTestRegisterableDomain1); | 710 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
711 filter.AddRegisterableDomain(kTestRegisterableDomain3); | 711 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
712 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 712 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), |
713 BrowsingDataRemover::REMOVE_COOKIES, filter); | 713 BrowsingDataRemover::REMOVE_COOKIES, |
| 714 std::move(filter)); |
714 | 715 |
715 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 716 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); |
716 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 717 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
717 | 718 |
718 // Verify that storage partition was instructed to remove the cookies. | 719 // Verify that storage partition was instructed to remove the cookies. |
719 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 720 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
720 EXPECT_EQ(removal_data.remove_mask, | 721 EXPECT_EQ(removal_data.remove_mask, |
721 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 722 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
722 // Removing with time period other than all time should not clear | 723 // Removing with time period other than all time should not clear |
723 // persistent storage data. | 724 // persistent storage data. |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
803 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); | 804 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); |
804 } | 805 } |
805 | 806 |
806 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDsForServerIdentifiers) { | 807 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDsForServerIdentifiers) { |
807 RemoveChannelIDTester tester(GetBrowserContext()); | 808 RemoveChannelIDTester tester(GetBrowserContext()); |
808 | 809 |
809 tester.AddChannelID(kTestRegisterableDomain1); | 810 tester.AddChannelID(kTestRegisterableDomain1); |
810 tester.AddChannelID(kTestRegisterableDomain3); | 811 tester.AddChannelID(kTestRegisterableDomain3); |
811 EXPECT_EQ(2, tester.ChannelIDCount()); | 812 EXPECT_EQ(2, tester.ChannelIDCount()); |
812 | 813 |
813 RegistrableDomainFilterBuilder filter_builder( | 814 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder( |
814 RegistrableDomainFilterBuilder::WHITELIST); | 815 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
815 filter_builder.AddRegisterableDomain(kTestRegisterableDomain1); | 816 filter_builder->AddRegisterableDomain(kTestRegisterableDomain1); |
816 | 817 |
817 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 818 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
818 BrowsingDataRemover::REMOVE_CHANNEL_IDS, | 819 BrowsingDataRemover::REMOVE_CHANNEL_IDS, |
819 filter_builder); | 820 std::move(filter_builder)); |
820 | 821 |
821 EXPECT_EQ(1, tester.ChannelIDCount()); | 822 EXPECT_EQ(1, tester.ChannelIDCount()); |
822 net::ChannelIDStore::ChannelIDList channel_ids; | 823 net::ChannelIDStore::ChannelIDList channel_ids; |
823 tester.GetChannelIDList(&channel_ids); | 824 tester.GetChannelIDList(&channel_ids); |
824 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); | 825 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); |
825 } | 826 } |
826 | 827 |
827 TEST_F(BrowsingDataRemoverImplTest, RemoveUnprotectedLocalStorageForever) { | 828 TEST_F(BrowsingDataRemoverImplTest, RemoveUnprotectedLocalStorageForever) { |
828 #if BUILDFLAG(ENABLE_EXTENSIONS) | 829 #if BUILDFLAG(ENABLE_EXTENSIONS) |
829 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 830 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1100 | 1101 |
1101 // Check that all related origin data would be removed, that is, origin | 1102 // Check that all related origin data would be removed, that is, origin |
1102 // matcher would match these origin. | 1103 // matcher would match these origin. |
1103 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1104 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1104 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1105 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1105 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1106 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1106 } | 1107 } |
1107 | 1108 |
1108 TEST_F(BrowsingDataRemoverImplTest, | 1109 TEST_F(BrowsingDataRemoverImplTest, |
1109 RemoveQuotaManagedDataForeverSpecificOrigin) { | 1110 RemoveQuotaManagedDataForeverSpecificOrigin) { |
1110 RegistrableDomainFilterBuilder builder( | 1111 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1111 RegistrableDomainFilterBuilder::WHITELIST); | 1112 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1112 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1113 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1113 // Remove Origin 1. | 1114 // Remove Origin 1. |
1114 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1115 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
1115 BrowsingDataRemover::REMOVE_APPCACHE | | 1116 BrowsingDataRemover::REMOVE_APPCACHE | |
1116 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1117 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1117 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1118 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1118 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1119 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1119 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1120 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1120 BrowsingDataRemover::REMOVE_WEBSQL, | 1121 BrowsingDataRemover::REMOVE_WEBSQL, |
1121 builder); | 1122 std::move(builder)); |
1122 | 1123 |
1123 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1124 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
1124 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1125 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1125 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1126 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1126 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1127 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1127 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1128 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1128 BrowsingDataRemover::REMOVE_WEBSQL, | 1129 BrowsingDataRemover::REMOVE_WEBSQL, |
1129 GetRemovalMask()); | 1130 GetRemovalMask()); |
1130 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1131 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1131 | 1132 |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1273 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1274 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1274 } | 1275 } |
1275 | 1276 |
1276 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedSpecificOrigin) { | 1277 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedSpecificOrigin) { |
1277 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1278 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1278 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1279 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1279 // Protect kOrigin1. | 1280 // Protect kOrigin1. |
1280 policy->AddProtected(kOrigin1.GetOrigin()); | 1281 policy->AddProtected(kOrigin1.GetOrigin()); |
1281 #endif | 1282 #endif |
1282 | 1283 |
1283 RegistrableDomainFilterBuilder builder( | 1284 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1284 RegistrableDomainFilterBuilder::WHITELIST); | 1285 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1285 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1286 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1286 | 1287 |
1287 // Try to remove kOrigin1. Expect failure. | 1288 // Try to remove kOrigin1. Expect failure. |
1288 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1289 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
1289 BrowsingDataRemover::REMOVE_APPCACHE | | 1290 BrowsingDataRemover::REMOVE_APPCACHE | |
1290 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1291 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1291 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1292 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1292 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1293 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1293 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1294 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1294 BrowsingDataRemover::REMOVE_WEBSQL, | 1295 BrowsingDataRemover::REMOVE_WEBSQL, |
1295 builder); | 1296 std::move(builder)); |
1296 | 1297 |
1297 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1298 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | |
1298 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1299 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1299 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1300 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
1300 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1301 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1301 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1302 BrowsingDataRemover::REMOVE_INDEXEDDB | |
1302 BrowsingDataRemover::REMOVE_WEBSQL, | 1303 BrowsingDataRemover::REMOVE_WEBSQL, |
1303 GetRemovalMask()); | 1304 GetRemovalMask()); |
1304 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1305 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1305 | 1306 |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1504 EXPECT_CALL( | 1505 EXPECT_CALL( |
1505 *tester.download_manager(), | 1506 *tester.download_manager(), |
1506 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 1507 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
1507 | 1508 |
1508 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1509 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
1509 BrowsingDataRemover::REMOVE_DOWNLOADS, false); | 1510 BrowsingDataRemover::REMOVE_DOWNLOADS, false); |
1510 } | 1511 } |
1511 | 1512 |
1512 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByOrigin) { | 1513 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByOrigin) { |
1513 RemoveDownloadsTester tester(GetBrowserContext()); | 1514 RemoveDownloadsTester tester(GetBrowserContext()); |
1514 RegistrableDomainFilterBuilder builder( | 1515 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1515 RegistrableDomainFilterBuilder::WHITELIST); | 1516 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1516 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 1517 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1517 base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter(); | 1518 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); |
1518 | 1519 |
1519 EXPECT_CALL( | 1520 EXPECT_CALL( |
1520 *tester.download_manager(), | 1521 *tester.download_manager(), |
1521 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 1522 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
1522 | 1523 |
1523 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1524 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
1524 BrowsingDataRemover::REMOVE_DOWNLOADS, builder); | 1525 BrowsingDataRemover::REMOVE_DOWNLOADS, |
| 1526 std::move(builder)); |
1525 } | 1527 } |
1526 | 1528 |
1527 class MultipleTasksObserver { | 1529 class MultipleTasksObserver { |
1528 public: | 1530 public: |
1529 // A simple implementation of BrowsingDataRemover::Observer. | 1531 // A simple implementation of BrowsingDataRemover::Observer. |
1530 // MultipleTasksObserver will use several instances of Target to test | 1532 // MultipleTasksObserver will use several instances of Target to test |
1531 // that completion callbacks are returned to the correct one. | 1533 // that completion callbacks are returned to the correct one. |
1532 class Target : public BrowsingDataRemover::Observer { | 1534 class Target : public BrowsingDataRemover::Observer { |
1533 public: | 1535 public: |
1534 Target(MultipleTasksObserver* parent, BrowsingDataRemover* remover) | 1536 Target(MultipleTasksObserver* parent, BrowsingDataRemover* remover) |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1575 Target target_a_; | 1577 Target target_a_; |
1576 Target target_b_; | 1578 Target target_b_; |
1577 Target* last_called_target_; | 1579 Target* last_called_target_; |
1578 }; | 1580 }; |
1579 | 1581 |
1580 TEST_F(BrowsingDataRemoverImplTest, MultipleTasks) { | 1582 TEST_F(BrowsingDataRemoverImplTest, MultipleTasks) { |
1581 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( | 1583 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( |
1582 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); | 1584 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); |
1583 EXPECT_FALSE(remover->is_removing()); | 1585 EXPECT_FALSE(remover->is_removing()); |
1584 | 1586 |
1585 std::unique_ptr<RegistrableDomainFilterBuilder> filter_builder_1( | 1587 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_1( |
1586 new RegistrableDomainFilterBuilder( | 1588 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1587 RegistrableDomainFilterBuilder::WHITELIST)); | 1589 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_2( |
1588 std::unique_ptr<RegistrableDomainFilterBuilder> filter_builder_2( | 1590 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
1589 new RegistrableDomainFilterBuilder( | |
1590 RegistrableDomainFilterBuilder::BLACKLIST)); | |
1591 filter_builder_2->AddRegisterableDomain("example.com"); | 1591 filter_builder_2->AddRegisterableDomain("example.com"); |
1592 | 1592 |
1593 MultipleTasksObserver observer(remover); | 1593 MultipleTasksObserver observer(remover); |
1594 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 1594 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
1595 | 1595 |
1596 // Test several tasks with various configuration of masks, filters, and target | 1596 // Test several tasks with various configuration of masks, filters, and target |
1597 // observers. | 1597 // observers. |
1598 std::list<BrowsingDataRemoverImpl::RemovalTask> tasks; | 1598 std::list<BrowsingDataRemoverImpl::RemovalTask> tasks; |
1599 tasks.emplace_back(base::Time(), base::Time::Max(), | 1599 tasks.emplace_back(base::Time(), base::Time::Max(), |
1600 BrowsingDataRemover::REMOVE_HISTORY, | 1600 BrowsingDataRemover::REMOVE_HISTORY, |
1601 BrowsingDataHelper::UNPROTECTED_WEB, | 1601 BrowsingDataHelper::UNPROTECTED_WEB, |
1602 base::MakeUnique<RegistrableDomainFilterBuilder>( | 1602 BrowsingDataFilterBuilder::Create( |
1603 RegistrableDomainFilterBuilder::BLACKLIST), | 1603 BrowsingDataFilterBuilder::BLACKLIST), |
1604 observer.target_a()); | 1604 observer.target_a()); |
1605 tasks.emplace_back(base::Time(), base::Time::Max(), | 1605 tasks.emplace_back(base::Time(), base::Time::Max(), |
1606 BrowsingDataRemover::REMOVE_COOKIES, | 1606 BrowsingDataRemover::REMOVE_COOKIES, |
1607 BrowsingDataHelper::PROTECTED_WEB, | 1607 BrowsingDataHelper::PROTECTED_WEB, |
1608 base::MakeUnique<RegistrableDomainFilterBuilder>( | 1608 BrowsingDataFilterBuilder::Create( |
1609 RegistrableDomainFilterBuilder::BLACKLIST), | 1609 BrowsingDataFilterBuilder::BLACKLIST), |
1610 nullptr); | 1610 nullptr); |
1611 tasks.emplace_back( | 1611 tasks.emplace_back( |
1612 base::Time::Now(), base::Time::Max(), | 1612 base::Time::Now(), base::Time::Max(), |
1613 BrowsingDataRemover::REMOVE_PASSWORDS, BrowsingDataHelper::ALL, | 1613 BrowsingDataRemover::REMOVE_PASSWORDS, BrowsingDataHelper::ALL, |
1614 base::MakeUnique<RegistrableDomainFilterBuilder>( | 1614 BrowsingDataFilterBuilder::Create( |
1615 RegistrableDomainFilterBuilder::BLACKLIST), | 1615 BrowsingDataFilterBuilder::BLACKLIST), |
1616 observer.target_b()); | 1616 observer.target_b()); |
1617 tasks.emplace_back( | 1617 tasks.emplace_back( |
1618 base::Time(), base::Time::UnixEpoch(), | 1618 base::Time(), base::Time::UnixEpoch(), |
1619 BrowsingDataRemover::REMOVE_WEBSQL, | 1619 BrowsingDataRemover::REMOVE_WEBSQL, |
1620 BrowsingDataHelper::UNPROTECTED_WEB, | 1620 BrowsingDataHelper::UNPROTECTED_WEB, |
1621 std::move(filter_builder_1), | 1621 std::move(filter_builder_1), |
1622 observer.target_b()); | 1622 observer.target_b()); |
1623 tasks.emplace_back( | 1623 tasks.emplace_back( |
1624 base::Time::UnixEpoch(), base::Time::Now(), | 1624 base::Time::UnixEpoch(), base::Time::Now(), |
1625 BrowsingDataRemover::REMOVE_CHANNEL_IDS, | 1625 BrowsingDataRemover::REMOVE_CHANNEL_IDS, |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1710 EXPECT_TRUE(remover->is_removing()); | 1710 EXPECT_TRUE(remover->is_removing()); |
1711 | 1711 |
1712 // Add one more deletion and wait for it. | 1712 // Add one more deletion and wait for it. |
1713 BlockUntilBrowsingDataRemoved( | 1713 BlockUntilBrowsingDataRemoved( |
1714 base::Time(), base::Time::Max(), | 1714 base::Time(), base::Time::Max(), |
1715 BrowsingDataRemover::REMOVE_COOKIES, | 1715 BrowsingDataRemover::REMOVE_COOKIES, |
1716 BrowsingDataHelper::UNPROTECTED_WEB); | 1716 BrowsingDataHelper::UNPROTECTED_WEB); |
1717 | 1717 |
1718 EXPECT_FALSE(remover->is_removing()); | 1718 EXPECT_FALSE(remover->is_removing()); |
1719 } | 1719 } |
OLD | NEW |