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 23 matching lines...) Expand all Loading... |
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/test/base/testing_profile.h" | 36 #include "chrome/test/base/testing_profile.h" |
37 #include "content/public/browser/browser_context.h" | 37 #include "content/public/browser/browser_context.h" |
38 #include "content/public/browser/browsing_data_filter_builder.h" | 38 #include "content/public/browser/browsing_data_filter_builder.h" |
39 #include "content/public/browser/cookie_store_factory.h" | 39 #include "content/public/browser/cookie_store_factory.h" |
40 #include "content/public/browser/dom_storage_context.h" | 40 #include "content/public/browser/dom_storage_context.h" |
41 #include "content/public/browser/local_storage_usage_info.h" | 41 #include "content/public/browser/local_storage_usage_info.h" |
42 #include "content/public/browser/storage_partition.h" | 42 #include "content/public/browser/storage_partition.h" |
43 #include "content/public/test/mock_download_manager.h" | 43 #include "content/public/test/mock_download_manager.h" |
| 44 #include "content/public/test/mock_special_storage_policy.h" |
44 #include "content/public/test/test_browser_thread.h" | 45 #include "content/public/test/test_browser_thread.h" |
45 #include "content/public/test/test_browser_thread_bundle.h" | 46 #include "content/public/test/test_browser_thread_bundle.h" |
46 #include "content/public/test/test_utils.h" | 47 #include "content/public/test/test_utils.h" |
47 #include "extensions/features/features.h" | 48 #include "extensions/features/features.h" |
48 #include "net/cookies/cookie_store.h" | 49 #include "net/cookies/cookie_store.h" |
49 #include "net/http/http_network_session.h" | 50 #include "net/http/http_network_session.h" |
50 #include "net/http/http_transaction_factory.h" | 51 #include "net/http/http_transaction_factory.h" |
51 #include "net/ssl/channel_id_service.h" | 52 #include "net/ssl/channel_id_service.h" |
52 #include "net/ssl/channel_id_store.h" | 53 #include "net/ssl/channel_id_store.h" |
53 #include "net/ssl/ssl_client_cert_type.h" | 54 #include "net/ssl/ssl_client_cert_type.h" |
54 #include "net/url_request/url_request_context.h" | 55 #include "net/url_request/url_request_context.h" |
55 #include "net/url_request/url_request_context_getter.h" | 56 #include "net/url_request/url_request_context_getter.h" |
56 #include "ppapi/features/features.h" | 57 #include "ppapi/features/features.h" |
57 #include "testing/gmock/include/gmock/gmock.h" | 58 #include "testing/gmock/include/gmock/gmock.h" |
58 #include "testing/gtest/include/gtest/gtest.h" | 59 #include "testing/gtest/include/gtest/gtest.h" |
59 #include "url/origin.h" | 60 #include "url/origin.h" |
60 | 61 |
61 #if BUILDFLAG(ENABLE_EXTENSIONS) | |
62 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" | |
63 #endif | |
64 | |
65 class MockExtensionSpecialStoragePolicy; | |
66 | |
67 using content::BrowserThread; | 62 using content::BrowserThread; |
68 using content::BrowserContext; | 63 using content::BrowserContext; |
69 using content::BrowsingDataFilterBuilder; | 64 using content::BrowsingDataFilterBuilder; |
70 using content::StoragePartition; | 65 using content::StoragePartition; |
71 using testing::_; | 66 using testing::_; |
72 using testing::ByRef; | 67 using testing::ByRef; |
73 using testing::Eq; | 68 using testing::Eq; |
74 using testing::Invoke; | 69 using testing::Invoke; |
75 using testing::IsEmpty; | 70 using testing::IsEmpty; |
76 using testing::Matcher; | 71 using testing::Matcher; |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 // will have no delegate. For now, explicitly set it to nullptr. | 538 // will have no delegate. For now, explicitly set it to nullptr. |
544 remover_ = static_cast<BrowsingDataRemoverImpl*>( | 539 remover_ = static_cast<BrowsingDataRemoverImpl*>( |
545 BrowsingDataRemoverFactory::GetForBrowserContext( | 540 BrowsingDataRemoverFactory::GetForBrowserContext( |
546 browser_context_.get())); | 541 browser_context_.get())); |
547 remover_->SetEmbedderDelegate(nullptr); | 542 remover_->SetEmbedderDelegate(nullptr); |
548 } | 543 } |
549 | 544 |
550 ~BrowsingDataRemoverImplTest() override {} | 545 ~BrowsingDataRemoverImplTest() override {} |
551 | 546 |
552 void TearDown() override { | 547 void TearDown() override { |
553 #if BUILDFLAG(ENABLE_EXTENSIONS) | |
554 mock_policy_ = nullptr; | 548 mock_policy_ = nullptr; |
555 #endif | |
556 | 549 |
557 // BrowserContext contains a DOMStorageContext. BrowserContext's | 550 // BrowserContext contains a DOMStorageContext. BrowserContext's |
558 // destructor posts a message to the WEBKIT thread to delete some of its | 551 // destructor posts a message to the WEBKIT thread to delete some of its |
559 // member variables. We need to ensure that the browser context is | 552 // member variables. We need to ensure that the browser context is |
560 // destroyed, and that the message loop is cleared out, before destroying | 553 // destroyed, and that the message loop is cleared out, before destroying |
561 // the threads and loop. Otherwise we leak memory. | 554 // the threads and loop. Otherwise we leak memory. |
562 browser_context_.reset(); | 555 browser_context_.reset(); |
563 base::RunLoop().RunUntilIdle(); | 556 base::RunLoop().RunUntilIdle(); |
564 } | 557 } |
565 | 558 |
566 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, | 559 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, |
567 const base::Time& delete_end, | 560 const base::Time& delete_end, |
568 int remove_mask, | 561 int remove_mask, |
569 bool include_protected_origins) { | 562 bool include_protected_origins) { |
570 TestStoragePartition storage_partition; | 563 TestStoragePartition storage_partition; |
571 remover_->OverrideStoragePartitionForTesting(&storage_partition); | 564 remover_->OverrideStoragePartitionForTesting(&storage_partition); |
572 | 565 |
573 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; | 566 int origin_type_mask = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; |
574 if (include_protected_origins) | 567 if (include_protected_origins) |
575 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB; | 568 origin_type_mask |= BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; |
576 | 569 |
577 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 570 BrowsingDataRemoverCompletionObserver completion_observer(remover_); |
578 remover_->RemoveAndReply( | 571 remover_->RemoveAndReply( |
579 delete_begin, delete_end, remove_mask, origin_type_mask, | 572 delete_begin, delete_end, remove_mask, origin_type_mask, |
580 &completion_observer); | 573 &completion_observer); |
581 completion_observer.BlockUntilCompletion(); | 574 completion_observer.BlockUntilCompletion(); |
582 | 575 |
583 // Save so we can verify later. | 576 // Save so we can verify later. |
584 storage_partition_removal_data_ = | 577 storage_partition_removal_data_ = |
585 storage_partition.GetStoragePartitionRemovalData(); | 578 storage_partition.GetStoragePartitionRemovalData(); |
586 } | 579 } |
587 | 580 |
588 void BlockUntilOriginDataRemoved( | 581 void BlockUntilOriginDataRemoved( |
589 const base::Time& delete_begin, | 582 const base::Time& delete_begin, |
590 const base::Time& delete_end, | 583 const base::Time& delete_end, |
591 int remove_mask, | 584 int remove_mask, |
592 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { | 585 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { |
593 TestStoragePartition storage_partition; | 586 TestStoragePartition storage_partition; |
594 remover_->OverrideStoragePartitionForTesting(&storage_partition); | 587 remover_->OverrideStoragePartitionForTesting(&storage_partition); |
595 | 588 |
596 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 589 BrowsingDataRemoverCompletionObserver completion_observer(remover_); |
597 remover_->RemoveWithFilterAndReply( | 590 remover_->RemoveWithFilterAndReply( |
598 delete_begin, delete_end, remove_mask, | 591 delete_begin, delete_end, remove_mask, |
599 BrowsingDataHelper::UNPROTECTED_WEB, | 592 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
600 std::move(filter_builder), &completion_observer); | 593 std::move(filter_builder), &completion_observer); |
601 completion_observer.BlockUntilCompletion(); | 594 completion_observer.BlockUntilCompletion(); |
602 | 595 |
603 // Save so we can verify later. | 596 // Save so we can verify later. |
604 storage_partition_removal_data_ = | 597 storage_partition_removal_data_ = |
605 storage_partition.GetStoragePartitionRemovalData(); | 598 storage_partition.GetStoragePartitionRemovalData(); |
606 } | 599 } |
607 | 600 |
608 BrowserContext* GetBrowserContext() { | 601 BrowserContext* GetBrowserContext() { |
609 return browser_context_.get(); | 602 return browser_context_.get(); |
(...skipping 10 matching lines...) Expand all Loading... |
620 } | 613 } |
621 | 614 |
622 int GetOriginTypeMask() { | 615 int GetOriginTypeMask() { |
623 return remover_->GetLastUsedOriginTypeMask(); | 616 return remover_->GetLastUsedOriginTypeMask(); |
624 } | 617 } |
625 | 618 |
626 StoragePartitionRemovalData GetStoragePartitionRemovalData() { | 619 StoragePartitionRemovalData GetStoragePartitionRemovalData() { |
627 return storage_partition_removal_data_; | 620 return storage_partition_removal_data_; |
628 } | 621 } |
629 | 622 |
630 MockExtensionSpecialStoragePolicy* CreateMockPolicy() { | 623 content::MockSpecialStoragePolicy* CreateMockPolicy() { |
631 #if BUILDFLAG(ENABLE_EXTENSIONS) | 624 mock_policy_ = new content::MockSpecialStoragePolicy(); |
632 mock_policy_ = new MockExtensionSpecialStoragePolicy; | |
633 return mock_policy_.get(); | 625 return mock_policy_.get(); |
634 #else | |
635 NOTREACHED(); | |
636 return nullptr; | |
637 #endif | |
638 } | 626 } |
639 | 627 |
640 storage::SpecialStoragePolicy* mock_policy() { | 628 content::MockSpecialStoragePolicy* mock_policy() { |
641 #if BUILDFLAG(ENABLE_EXTENSIONS) | |
642 return mock_policy_.get(); | 629 return mock_policy_.get(); |
643 #else | |
644 return nullptr; | |
645 #endif | |
646 } | 630 } |
647 | 631 |
648 // If |kOrigin1| is protected when extensions are enabled, the expected | 632 bool Match(const GURL& origin, |
649 // result for tests where the OriginMatcherFunction result is variable. | 633 int mask, |
650 bool ShouldRemoveForProtectedOriginOne() const { | 634 storage::SpecialStoragePolicy* policy) { |
651 #if BUILDFLAG(ENABLE_EXTENSIONS) | 635 return remover_->DoesOriginMatchMask(mask, origin, policy); |
652 return false; | |
653 #else | |
654 return true; | |
655 #endif | |
656 } | 636 } |
657 | 637 |
658 private: | 638 private: |
659 // Cached pointer to BrowsingDataRemoverImpl for access to testing methods. | 639 // Cached pointer to BrowsingDataRemoverImpl for access to testing methods. |
660 BrowsingDataRemoverImpl* remover_; | 640 BrowsingDataRemoverImpl* remover_; |
661 | 641 |
662 content::TestBrowserThreadBundle thread_bundle_; | 642 content::TestBrowserThreadBundle thread_bundle_; |
663 std::unique_ptr<BrowserContext> browser_context_; | 643 std::unique_ptr<BrowserContext> browser_context_; |
664 | 644 |
665 StoragePartitionRemovalData storage_partition_removal_data_; | 645 StoragePartitionRemovalData storage_partition_removal_data_; |
666 | 646 |
667 #if BUILDFLAG(ENABLE_EXTENSIONS) | 647 scoped_refptr<content::MockSpecialStoragePolicy> mock_policy_; |
668 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy_; | |
669 #endif | |
670 | 648 |
671 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverImplTest); | 649 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverImplTest); |
672 }; | 650 }; |
673 | 651 |
674 // Tests --------------------------------------------------------------------- | 652 // Tests --------------------------------------------------------------------- |
675 | 653 |
676 TEST_F(BrowsingDataRemoverImplTest, RemoveCookieForever) { | 654 TEST_F(BrowsingDataRemoverImplTest, RemoveCookieForever) { |
677 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 655 BlockUntilBrowsingDataRemoved( |
678 BrowsingDataRemover::REMOVE_COOKIES, false); | 656 base::Time(), base::Time::Max(), |
| 657 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
679 | 658 |
680 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 659 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, |
681 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 660 GetRemovalMask()); |
| 661 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 662 GetOriginTypeMask()); |
682 | 663 |
683 // Verify that storage partition was instructed to remove the cookies. | 664 // Verify that storage partition was instructed to remove the cookies. |
684 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 665 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
685 EXPECT_EQ(removal_data.remove_mask, | 666 EXPECT_EQ(removal_data.remove_mask, |
686 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 667 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
687 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 668 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
688 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 669 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
689 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 670 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
690 } | 671 } |
691 | 672 |
692 TEST_F(BrowsingDataRemoverImplTest, RemoveCookieLastHour) { | 673 TEST_F(BrowsingDataRemoverImplTest, RemoveCookieLastHour) { |
693 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 674 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
694 BrowsingDataRemover::REMOVE_COOKIES, false); | 675 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
695 | 676 |
696 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 677 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
697 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 678 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 679 GetOriginTypeMask()); |
698 | 680 |
699 // Verify that storage partition was instructed to remove the cookies. | 681 // Verify that storage partition was instructed to remove the cookies. |
700 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 682 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
701 EXPECT_EQ(removal_data.remove_mask, | 683 EXPECT_EQ(removal_data.remove_mask, |
702 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 684 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
703 // Removing with time period other than all time should not clear | 685 // Removing with time period other than all time should not clear |
704 // persistent storage data. | 686 // persistent storage data. |
705 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 687 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
706 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 688 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
707 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 689 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
708 } | 690 } |
709 | 691 |
710 TEST_F(BrowsingDataRemoverImplTest, RemoveCookiesDomainBlacklist) { | 692 TEST_F(BrowsingDataRemoverImplTest, RemoveCookiesDomainBlacklist) { |
711 std::unique_ptr<BrowsingDataFilterBuilder> filter( | 693 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
712 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 694 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
713 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 695 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
714 filter->AddRegisterableDomain(kTestRegisterableDomain3); | 696 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
715 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 697 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), |
716 BrowsingDataRemover::REMOVE_COOKIES, | 698 BrowsingDataRemover::DATA_TYPE_COOKIES, |
717 std::move(filter)); | 699 std::move(filter)); |
718 | 700 |
719 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 701 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
720 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 702 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 703 GetOriginTypeMask()); |
721 | 704 |
722 // Verify that storage partition was instructed to remove the cookies. | 705 // Verify that storage partition was instructed to remove the cookies. |
723 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 706 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
724 EXPECT_EQ(removal_data.remove_mask, | 707 EXPECT_EQ(removal_data.remove_mask, |
725 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 708 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
726 // Removing with time period other than all time should not clear | 709 // Removing with time period other than all time should not clear |
727 // persistent storage data. | 710 // persistent storage data. |
728 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 711 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
729 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 712 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
730 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 713 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
(...skipping 24 matching lines...) Expand all Loading... |
755 net::HttpAuthCache* http_auth_cache = http_session->http_auth_cache(); | 738 net::HttpAuthCache* http_auth_cache = http_session->http_auth_cache(); |
756 http_auth_cache->Add(kOrigin1, kTestRealm, net::HttpAuth::AUTH_SCHEME_BASIC, | 739 http_auth_cache->Add(kOrigin1, kTestRealm, net::HttpAuth::AUTH_SCHEME_BASIC, |
757 "test challenge", | 740 "test challenge", |
758 net::AuthCredentials(base::ASCIIToUTF16("foo"), | 741 net::AuthCredentials(base::ASCIIToUTF16("foo"), |
759 base::ASCIIToUTF16("bar")), | 742 base::ASCIIToUTF16("bar")), |
760 "/"); | 743 "/"); |
761 CHECK(http_auth_cache->Lookup(kOrigin1, kTestRealm, | 744 CHECK(http_auth_cache->Lookup(kOrigin1, kTestRealm, |
762 net::HttpAuth::AUTH_SCHEME_BASIC)); | 745 net::HttpAuth::AUTH_SCHEME_BASIC)); |
763 | 746 |
764 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 747 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
765 BrowsingDataRemover::REMOVE_COOKIES, false); | 748 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
766 | 749 |
767 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm, | 750 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm, |
768 net::HttpAuth::AUTH_SCHEME_BASIC)); | 751 net::HttpAuth::AUTH_SCHEME_BASIC)); |
769 } | 752 } |
770 | 753 |
771 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDForever) { | 754 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDForever) { |
772 RemoveChannelIDTester tester(GetBrowserContext()); | 755 RemoveChannelIDTester tester(GetBrowserContext()); |
773 | 756 |
774 tester.AddChannelID(kTestOrigin1); | 757 tester.AddChannelID(kTestOrigin1); |
775 EXPECT_EQ(0, tester.ssl_config_changed_count()); | 758 EXPECT_EQ(0, tester.ssl_config_changed_count()); |
776 EXPECT_EQ(1, tester.ChannelIDCount()); | 759 EXPECT_EQ(1, tester.ChannelIDCount()); |
777 | 760 |
778 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 761 BlockUntilBrowsingDataRemoved( |
779 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); | 762 base::Time(), base::Time::Max(), |
| 763 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, false); |
780 | 764 |
781 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); | 765 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, GetRemovalMask()); |
782 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 766 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 767 GetOriginTypeMask()); |
783 EXPECT_EQ(1, tester.ssl_config_changed_count()); | 768 EXPECT_EQ(1, tester.ssl_config_changed_count()); |
784 EXPECT_EQ(0, tester.ChannelIDCount()); | 769 EXPECT_EQ(0, tester.ChannelIDCount()); |
785 } | 770 } |
786 | 771 |
787 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDLastHour) { | 772 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDLastHour) { |
788 RemoveChannelIDTester tester(GetBrowserContext()); | 773 RemoveChannelIDTester tester(GetBrowserContext()); |
789 | 774 |
790 base::Time now = base::Time::Now(); | 775 base::Time now = base::Time::Now(); |
791 tester.AddChannelID(kTestOrigin1); | 776 tester.AddChannelID(kTestOrigin1); |
792 tester.AddChannelIDWithTimes(kTestOrigin2, | 777 tester.AddChannelIDWithTimes(kTestOrigin2, |
793 now - base::TimeDelta::FromHours(2)); | 778 now - base::TimeDelta::FromHours(2)); |
794 EXPECT_EQ(0, tester.ssl_config_changed_count()); | 779 EXPECT_EQ(0, tester.ssl_config_changed_count()); |
795 EXPECT_EQ(2, tester.ChannelIDCount()); | 780 EXPECT_EQ(2, tester.ChannelIDCount()); |
796 | 781 |
797 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 782 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
798 BrowsingDataRemover::REMOVE_CHANNEL_IDS, false); | 783 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, |
| 784 false); |
799 | 785 |
800 EXPECT_EQ(BrowsingDataRemover::REMOVE_CHANNEL_IDS, GetRemovalMask()); | 786 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, GetRemovalMask()); |
801 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 787 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 788 GetOriginTypeMask()); |
802 EXPECT_EQ(1, tester.ssl_config_changed_count()); | 789 EXPECT_EQ(1, tester.ssl_config_changed_count()); |
803 ASSERT_EQ(1, tester.ChannelIDCount()); | 790 ASSERT_EQ(1, tester.ChannelIDCount()); |
804 net::ChannelIDStore::ChannelIDList channel_ids; | 791 net::ChannelIDStore::ChannelIDList channel_ids; |
805 tester.GetChannelIDList(&channel_ids); | 792 tester.GetChannelIDList(&channel_ids); |
806 ASSERT_EQ(1U, channel_ids.size()); | 793 ASSERT_EQ(1U, channel_ids.size()); |
807 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); | 794 EXPECT_EQ(kTestOrigin2, channel_ids.front().server_identifier()); |
808 } | 795 } |
809 | 796 |
810 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDsForServerIdentifiers) { | 797 TEST_F(BrowsingDataRemoverImplTest, RemoveChannelIDsForServerIdentifiers) { |
811 RemoveChannelIDTester tester(GetBrowserContext()); | 798 RemoveChannelIDTester tester(GetBrowserContext()); |
812 | 799 |
813 tester.AddChannelID(kTestRegisterableDomain1); | 800 tester.AddChannelID(kTestRegisterableDomain1); |
814 tester.AddChannelID(kTestRegisterableDomain3); | 801 tester.AddChannelID(kTestRegisterableDomain3); |
815 EXPECT_EQ(2, tester.ChannelIDCount()); | 802 EXPECT_EQ(2, tester.ChannelIDCount()); |
816 | 803 |
817 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder( | 804 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder( |
818 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 805 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
819 filter_builder->AddRegisterableDomain(kTestRegisterableDomain1); | 806 filter_builder->AddRegisterableDomain(kTestRegisterableDomain1); |
820 | 807 |
821 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 808 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
822 BrowsingDataRemover::REMOVE_CHANNEL_IDS, | 809 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, |
823 std::move(filter_builder)); | 810 std::move(filter_builder)); |
824 | 811 |
825 EXPECT_EQ(1, tester.ChannelIDCount()); | 812 EXPECT_EQ(1, tester.ChannelIDCount()); |
826 net::ChannelIDStore::ChannelIDList channel_ids; | 813 net::ChannelIDStore::ChannelIDList channel_ids; |
827 tester.GetChannelIDList(&channel_ids); | 814 tester.GetChannelIDList(&channel_ids); |
828 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); | 815 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); |
829 } | 816 } |
830 | 817 |
831 TEST_F(BrowsingDataRemoverImplTest, RemoveUnprotectedLocalStorageForever) { | 818 TEST_F(BrowsingDataRemoverImplTest, RemoveUnprotectedLocalStorageForever) { |
832 #if BUILDFLAG(ENABLE_EXTENSIONS) | 819 content::MockSpecialStoragePolicy* policy = CreateMockPolicy(); |
833 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | |
834 // Protect kOrigin1. | 820 // Protect kOrigin1. |
835 policy->AddProtected(kOrigin1.GetOrigin()); | 821 policy->AddProtected(kOrigin1.GetOrigin()); |
836 #endif | |
837 | 822 |
838 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 823 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
839 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 824 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
840 false); | 825 false); |
841 | 826 |
842 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 827 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, GetRemovalMask()); |
843 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 828 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 829 GetOriginTypeMask()); |
844 | 830 |
845 // Verify that storage partition was instructed to remove the data correctly. | 831 // Verify that storage partition was instructed to remove the data correctly. |
846 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 832 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
847 EXPECT_EQ(removal_data.remove_mask, | 833 EXPECT_EQ(removal_data.remove_mask, |
848 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 834 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
849 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 835 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
850 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 836 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
851 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 837 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
852 | 838 |
853 // Check origin matcher. | 839 // Check origin matcher. |
854 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 840 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
855 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | |
856 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 841 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
857 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 842 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
858 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 843 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
859 } | 844 } |
860 | 845 |
861 TEST_F(BrowsingDataRemoverImplTest, RemoveProtectedLocalStorageForever) { | 846 TEST_F(BrowsingDataRemoverImplTest, RemoveProtectedLocalStorageForever) { |
862 #if BUILDFLAG(ENABLE_EXTENSIONS) | |
863 // Protect kOrigin1. | 847 // Protect kOrigin1. |
864 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 848 content::MockSpecialStoragePolicy* policy = CreateMockPolicy(); |
865 policy->AddProtected(kOrigin1.GetOrigin()); | 849 policy->AddProtected(kOrigin1.GetOrigin()); |
866 #endif | |
867 | 850 |
868 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 851 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
869 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 852 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
870 true); | 853 true); |
871 | 854 |
872 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 855 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, GetRemovalMask()); |
873 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB | | 856 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB | |
874 BrowsingDataHelper::PROTECTED_WEB, GetOriginTypeMask()); | 857 BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, |
| 858 GetOriginTypeMask()); |
875 | 859 |
876 // Verify that storage partition was instructed to remove the data correctly. | 860 // Verify that storage partition was instructed to remove the data correctly. |
877 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 861 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
878 EXPECT_EQ(removal_data.remove_mask, | 862 EXPECT_EQ(removal_data.remove_mask, |
879 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 863 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
880 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 864 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
881 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 865 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
882 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 866 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
883 | 867 |
884 // Check origin matcher all http origin will match since we specified | 868 // Check origin matcher all http origin will match since we specified |
885 // both protected and unprotected. | 869 // both protected and unprotected. |
886 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 870 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
887 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 871 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
888 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 872 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
889 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 873 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
890 } | 874 } |
891 | 875 |
892 TEST_F(BrowsingDataRemoverImplTest, RemoveLocalStorageForLastWeek) { | 876 TEST_F(BrowsingDataRemoverImplTest, RemoveLocalStorageForLastWeek) { |
893 #if BUILDFLAG(ENABLE_EXTENSIONS) | 877 #if BUILDFLAG(ENABLE_EXTENSIONS) |
894 CreateMockPolicy(); | 878 CreateMockPolicy(); |
895 #endif | 879 #endif |
896 | 880 |
897 BlockUntilBrowsingDataRemoved( | 881 BlockUntilBrowsingDataRemoved( |
898 base::Time::Now() - base::TimeDelta::FromDays(7), base::Time::Max(), | 882 base::Time::Now() - base::TimeDelta::FromDays(7), base::Time::Max(), |
899 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, false); | 883 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, false); |
900 | 884 |
901 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 885 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, GetRemovalMask()); |
902 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 886 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 887 GetOriginTypeMask()); |
903 | 888 |
904 // Verify that storage partition was instructed to remove the data correctly. | 889 // Verify that storage partition was instructed to remove the data correctly. |
905 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 890 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
906 EXPECT_EQ(removal_data.remove_mask, | 891 EXPECT_EQ(removal_data.remove_mask, |
907 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 892 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
908 // Persistent storage won't be deleted. | 893 // Persistent storage won't be deleted. |
909 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 894 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
910 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); | 895 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT); |
911 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 896 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
912 | 897 |
913 // Check origin matcher. | 898 // Check origin matcher. |
914 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 899 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
915 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 900 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
916 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 901 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
917 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 902 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
918 } | 903 } |
919 | 904 |
920 TEST_F(BrowsingDataRemoverImplTest, RemoveMultipleTypes) { | 905 TEST_F(BrowsingDataRemoverImplTest, RemoveMultipleTypes) { |
921 // Downloads should be deleted through the DownloadManager, assure it would | 906 // Downloads should be deleted through the DownloadManager, assure it would |
922 // be called. | 907 // be called. |
923 RemoveDownloadsTester downloads_tester(GetBrowserContext()); | 908 RemoveDownloadsTester downloads_tester(GetBrowserContext()); |
924 EXPECT_CALL(*downloads_tester.download_manager(), | 909 EXPECT_CALL(*downloads_tester.download_manager(), |
925 RemoveDownloadsByURLAndTime(_, _, _)); | 910 RemoveDownloadsByURLAndTime(_, _, _)); |
926 | 911 |
927 int removal_mask = BrowsingDataRemover::REMOVE_DOWNLOADS | | 912 int removal_mask = BrowsingDataRemover::DATA_TYPE_DOWNLOADS | |
928 BrowsingDataRemover::REMOVE_COOKIES; | 913 BrowsingDataRemover::DATA_TYPE_COOKIES; |
929 | 914 |
930 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 915 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
931 removal_mask, false); | 916 removal_mask, false); |
932 | 917 |
933 EXPECT_EQ(removal_mask, GetRemovalMask()); | 918 EXPECT_EQ(removal_mask, GetRemovalMask()); |
934 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 919 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 920 GetOriginTypeMask()); |
935 | 921 |
936 // The cookie would be deleted throught the StorageParition, check if the | 922 // The cookie would be deleted throught the StorageParition, check if the |
937 // partition was requested to remove cookie. | 923 // partition was requested to remove cookie. |
938 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 924 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
939 EXPECT_EQ(removal_data.remove_mask, | 925 EXPECT_EQ(removal_data.remove_mask, |
940 StoragePartition::REMOVE_DATA_MASK_COOKIES); | 926 StoragePartition::REMOVE_DATA_MASK_COOKIES); |
941 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 927 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
942 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 928 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
943 } | 929 } |
944 | 930 |
945 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForeverBoth) { | 931 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForeverBoth) { |
946 BlockUntilBrowsingDataRemoved( | 932 BlockUntilBrowsingDataRemoved( |
947 base::Time(), base::Time::Max(), | 933 base::Time(), base::Time::Max(), |
948 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 934 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
949 BrowsingDataRemover::REMOVE_WEBSQL | | 935 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
950 BrowsingDataRemover::REMOVE_APPCACHE | | 936 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
951 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 937 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
952 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 938 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
953 BrowsingDataRemover::REMOVE_INDEXEDDB, | 939 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
954 false); | 940 false); |
955 | 941 |
956 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 942 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
957 BrowsingDataRemover::REMOVE_WEBSQL | | 943 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
958 BrowsingDataRemover::REMOVE_APPCACHE | | 944 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
959 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 945 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
960 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 946 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
961 BrowsingDataRemover::REMOVE_INDEXEDDB, | 947 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
962 GetRemovalMask()); | 948 GetRemovalMask()); |
963 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 949 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 950 GetOriginTypeMask()); |
964 | 951 |
965 // Verify storage partition related stuffs. | 952 // Verify storage partition related stuffs. |
966 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 953 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
967 EXPECT_EQ(removal_data.remove_mask, | 954 EXPECT_EQ(removal_data.remove_mask, |
968 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 955 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
969 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 956 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
970 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 957 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
971 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 958 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
972 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 959 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
973 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 960 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
974 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 961 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
975 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 962 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
976 } | 963 } |
977 | 964 |
978 TEST_F(BrowsingDataRemoverImplTest, | 965 TEST_F(BrowsingDataRemoverImplTest, |
979 RemoveQuotaManagedDataForeverOnlyTemporary) { | 966 RemoveQuotaManagedDataForeverOnlyTemporary) { |
980 #if BUILDFLAG(ENABLE_EXTENSIONS) | 967 #if BUILDFLAG(ENABLE_EXTENSIONS) |
981 CreateMockPolicy(); | 968 CreateMockPolicy(); |
982 #endif | 969 #endif |
983 | 970 |
984 BlockUntilBrowsingDataRemoved( | 971 BlockUntilBrowsingDataRemoved( |
985 base::Time(), base::Time::Max(), | 972 base::Time(), base::Time::Max(), |
986 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 973 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
987 BrowsingDataRemover::REMOVE_WEBSQL | | 974 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
988 BrowsingDataRemover::REMOVE_APPCACHE | | 975 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
989 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 976 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
990 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 977 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
991 BrowsingDataRemover::REMOVE_INDEXEDDB, | 978 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
992 false); | 979 false); |
993 | 980 |
994 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 981 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
995 BrowsingDataRemover::REMOVE_WEBSQL | | 982 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
996 BrowsingDataRemover::REMOVE_APPCACHE | | 983 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
997 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 984 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
998 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 985 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
999 BrowsingDataRemover::REMOVE_INDEXEDDB, | 986 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1000 GetRemovalMask()); | 987 GetRemovalMask()); |
1001 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 988 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 989 GetOriginTypeMask()); |
1002 | 990 |
1003 // Verify storage partition related stuffs. | 991 // Verify storage partition related stuffs. |
1004 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 992 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1005 | 993 |
1006 EXPECT_EQ(removal_data.remove_mask, | 994 EXPECT_EQ(removal_data.remove_mask, |
1007 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 995 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1008 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 996 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1009 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 997 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1010 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 998 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1011 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 999 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1012 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1000 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1013 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1001 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1014 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1002 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1015 | 1003 |
1016 // Check that all related origin data would be removed, that is, origin | 1004 // Check that all related origin data would be removed, that is, origin |
1017 // matcher would match these origin. | 1005 // matcher would match these origin. |
1018 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1006 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1019 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1007 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1020 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1008 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1021 } | 1009 } |
1022 | 1010 |
1023 TEST_F(BrowsingDataRemoverImplTest, | 1011 TEST_F(BrowsingDataRemoverImplTest, |
1024 RemoveQuotaManagedDataForeverOnlyPersistent) { | 1012 RemoveQuotaManagedDataForeverOnlyPersistent) { |
1025 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1013 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1026 CreateMockPolicy(); | 1014 CreateMockPolicy(); |
1027 #endif | 1015 #endif |
1028 | 1016 |
1029 BlockUntilBrowsingDataRemoved( | 1017 BlockUntilBrowsingDataRemoved( |
1030 base::Time(), base::Time::Max(), | 1018 base::Time(), base::Time::Max(), |
1031 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1019 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1032 BrowsingDataRemover::REMOVE_WEBSQL | | 1020 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1033 BrowsingDataRemover::REMOVE_APPCACHE | | 1021 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1034 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1022 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1035 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1023 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1036 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1024 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1037 false); | 1025 false); |
1038 | 1026 |
1039 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1027 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1040 BrowsingDataRemover::REMOVE_WEBSQL | | 1028 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1041 BrowsingDataRemover::REMOVE_APPCACHE | | 1029 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1042 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1030 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1043 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1031 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1044 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1032 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1045 GetRemovalMask()); | 1033 GetRemovalMask()); |
1046 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1034 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1035 GetOriginTypeMask()); |
1047 | 1036 |
1048 // Verify storage partition related stuffs. | 1037 // Verify storage partition related stuffs. |
1049 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1038 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1050 | 1039 |
1051 EXPECT_EQ(removal_data.remove_mask, | 1040 EXPECT_EQ(removal_data.remove_mask, |
1052 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1041 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1053 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1042 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1054 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1043 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1055 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1044 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1056 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1045 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1057 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1046 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1058 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1047 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1059 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1048 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1060 | 1049 |
1061 // Check that all related origin data would be removed, that is, origin | 1050 // Check that all related origin data would be removed, that is, origin |
1062 // matcher would match these origin. | 1051 // matcher would match these origin. |
1063 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1052 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1064 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1053 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1065 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1054 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1066 } | 1055 } |
1067 | 1056 |
1068 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForeverNeither) { | 1057 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForeverNeither) { |
1069 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1058 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1070 CreateMockPolicy(); | 1059 CreateMockPolicy(); |
1071 #endif | 1060 #endif |
1072 | 1061 |
1073 BlockUntilBrowsingDataRemoved( | 1062 BlockUntilBrowsingDataRemoved( |
1074 base::Time(), base::Time::Max(), | 1063 base::Time(), base::Time::Max(), |
1075 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1064 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1076 BrowsingDataRemover::REMOVE_WEBSQL | | 1065 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1077 BrowsingDataRemover::REMOVE_APPCACHE | | 1066 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1078 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1067 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1079 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1068 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1080 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1069 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1081 false); | 1070 false); |
1082 | 1071 |
1083 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1072 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1084 BrowsingDataRemover::REMOVE_WEBSQL | | 1073 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1085 BrowsingDataRemover::REMOVE_APPCACHE | | 1074 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1086 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1075 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1087 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1076 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1088 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1077 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1089 GetRemovalMask()); | 1078 GetRemovalMask()); |
1090 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1079 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1080 GetOriginTypeMask()); |
1091 | 1081 |
1092 // Verify storage partition related stuffs. | 1082 // Verify storage partition related stuffs. |
1093 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1083 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1094 | 1084 |
1095 EXPECT_EQ(removal_data.remove_mask, | 1085 EXPECT_EQ(removal_data.remove_mask, |
1096 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1086 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1097 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1087 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1098 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1088 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1099 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1089 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1100 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1090 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1101 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1091 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1102 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1092 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1103 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1093 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1104 | 1094 |
1105 // Check that all related origin data would be removed, that is, origin | 1095 // Check that all related origin data would be removed, that is, origin |
1106 // matcher would match these origin. | 1096 // matcher would match these origin. |
1107 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1097 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1108 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1098 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1109 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1099 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1110 } | 1100 } |
1111 | 1101 |
1112 TEST_F(BrowsingDataRemoverImplTest, | 1102 TEST_F(BrowsingDataRemoverImplTest, |
1113 RemoveQuotaManagedDataForeverSpecificOrigin) { | 1103 RemoveQuotaManagedDataForeverSpecificOrigin) { |
1114 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1104 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1115 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1105 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1116 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1106 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1117 // Remove Origin 1. | 1107 // Remove Origin 1. |
1118 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1108 BlockUntilOriginDataRemoved( |
1119 BrowsingDataRemover::REMOVE_APPCACHE | | 1109 base::Time(), base::Time::Max(), |
1120 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1110 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1121 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1111 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1122 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1112 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1123 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1113 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1124 BrowsingDataRemover::REMOVE_WEBSQL, | 1114 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1125 std::move(builder)); | 1115 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
| 1116 std::move(builder)); |
1126 | 1117 |
1127 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1118 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1128 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1119 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1129 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1120 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1130 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1121 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1131 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1122 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1132 BrowsingDataRemover::REMOVE_WEBSQL, | 1123 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1133 GetRemovalMask()); | 1124 GetRemovalMask()); |
1134 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1125 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1126 GetOriginTypeMask()); |
1135 | 1127 |
1136 // Verify storage partition related stuffs. | 1128 // Verify storage partition related stuffs. |
1137 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1129 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1138 | 1130 |
1139 EXPECT_EQ(removal_data.remove_mask, | 1131 EXPECT_EQ(removal_data.remove_mask, |
1140 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1132 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1141 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1133 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1142 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1134 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1143 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1135 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1144 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1136 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1145 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1137 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1146 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1138 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1147 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1139 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1148 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1140 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1149 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1141 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1150 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1142 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1151 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy())); | 1143 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin4, mock_policy())); |
1152 } | 1144 } |
1153 | 1145 |
1154 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForLastHour) { | 1146 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForLastHour) { |
1155 BlockUntilBrowsingDataRemoved( | 1147 BlockUntilBrowsingDataRemoved( |
1156 AnHourAgo(), base::Time::Max(), | 1148 AnHourAgo(), base::Time::Max(), |
1157 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1149 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1158 BrowsingDataRemover::REMOVE_WEBSQL | | 1150 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1159 BrowsingDataRemover::REMOVE_APPCACHE | | 1151 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1160 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1152 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1161 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1153 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1162 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1154 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1163 false); | 1155 false); |
1164 | 1156 |
1165 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1157 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1166 BrowsingDataRemover::REMOVE_WEBSQL | | 1158 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1167 BrowsingDataRemover::REMOVE_APPCACHE | | 1159 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1168 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1160 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1169 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1161 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1170 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1162 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1171 GetRemovalMask()); | 1163 GetRemovalMask()); |
1172 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1164 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1165 GetOriginTypeMask()); |
1173 | 1166 |
1174 // Verify storage partition related stuffs. | 1167 // Verify storage partition related stuffs. |
1175 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1168 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1176 | 1169 |
1177 EXPECT_EQ(removal_data.remove_mask, | 1170 EXPECT_EQ(removal_data.remove_mask, |
1178 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1171 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1179 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1172 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1180 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1173 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1181 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1174 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1182 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1175 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1183 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1176 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1184 | 1177 |
1185 // Persistent data would be left out since we are not removing from | 1178 // Persistent data would be left out since we are not removing from |
1186 // beginning of time. | 1179 // beginning of time. |
1187 uint32_t expected_quota_mask = | 1180 uint32_t expected_quota_mask = |
1188 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; | 1181 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; |
1189 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); | 1182 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); |
1190 // Check removal begin time. | 1183 // Check removal begin time. |
1191 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1184 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1192 } | 1185 } |
1193 | 1186 |
1194 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForLastWeek) { | 1187 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedDataForLastWeek) { |
1195 BlockUntilBrowsingDataRemoved( | 1188 BlockUntilBrowsingDataRemoved( |
1196 base::Time::Now() - base::TimeDelta::FromDays(7), base::Time::Max(), | 1189 base::Time::Now() - base::TimeDelta::FromDays(7), base::Time::Max(), |
1197 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1190 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1198 BrowsingDataRemover::REMOVE_WEBSQL | | 1191 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1199 BrowsingDataRemover::REMOVE_APPCACHE | | 1192 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1200 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1193 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1201 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1194 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1202 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1195 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1203 false); | 1196 false); |
1204 | 1197 |
1205 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1198 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1206 BrowsingDataRemover::REMOVE_WEBSQL | | 1199 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1207 BrowsingDataRemover::REMOVE_APPCACHE | | 1200 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1208 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1201 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1209 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1202 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1210 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1203 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1211 GetRemovalMask()); | 1204 GetRemovalMask()); |
1212 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1205 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1206 GetOriginTypeMask()); |
1213 | 1207 |
1214 // Verify storage partition related stuffs. | 1208 // Verify storage partition related stuffs. |
1215 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1209 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1216 | 1210 |
1217 EXPECT_EQ(removal_data.remove_mask, | 1211 EXPECT_EQ(removal_data.remove_mask, |
1218 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1212 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1219 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1213 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1220 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1214 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1221 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1215 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1222 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1216 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1223 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1217 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1224 | 1218 |
1225 // Persistent data would be left out since we are not removing from | 1219 // Persistent data would be left out since we are not removing from |
1226 // beginning of time. | 1220 // beginning of time. |
1227 uint32_t expected_quota_mask = | 1221 uint32_t expected_quota_mask = |
1228 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; | 1222 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; |
1229 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); | 1223 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); |
1230 // Check removal begin time. | 1224 // Check removal begin time. |
1231 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1225 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1232 } | 1226 } |
1233 | 1227 |
1234 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedUnprotectedOrigins) { | 1228 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedUnprotectedOrigins) { |
1235 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1229 content::MockSpecialStoragePolicy* policy = CreateMockPolicy(); |
1236 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | |
1237 // Protect kOrigin1. | 1230 // Protect kOrigin1. |
1238 policy->AddProtected(kOrigin1.GetOrigin()); | 1231 policy->AddProtected(kOrigin1.GetOrigin()); |
1239 #endif | |
1240 | 1232 |
1241 BlockUntilBrowsingDataRemoved( | 1233 BlockUntilBrowsingDataRemoved( |
1242 base::Time(), base::Time::Max(), | 1234 base::Time(), base::Time::Max(), |
1243 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1235 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1244 BrowsingDataRemover::REMOVE_WEBSQL | | 1236 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1245 BrowsingDataRemover::REMOVE_APPCACHE | | 1237 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1246 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1238 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1247 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1239 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1248 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1240 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1249 false); | 1241 false); |
1250 | 1242 |
1251 EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1243 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1252 BrowsingDataRemover::REMOVE_WEBSQL | | 1244 BrowsingDataRemover::DATA_TYPE_WEB_SQL | |
1253 BrowsingDataRemover::REMOVE_APPCACHE | | 1245 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1254 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1246 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1255 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1247 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1256 BrowsingDataRemover::REMOVE_INDEXEDDB, | 1248 BrowsingDataRemover::DATA_TYPE_INDEXED_DB, |
1257 GetRemovalMask()); | 1249 GetRemovalMask()); |
1258 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1250 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1251 GetOriginTypeMask()); |
1259 | 1252 |
1260 // Verify storage partition related stuffs. | 1253 // Verify storage partition related stuffs. |
1261 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1254 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1262 | 1255 |
1263 EXPECT_EQ(removal_data.remove_mask, | 1256 EXPECT_EQ(removal_data.remove_mask, |
1264 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1257 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1265 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1258 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1266 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1259 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1267 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1260 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1268 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1261 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1269 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1262 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1270 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1263 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1271 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1264 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1272 | 1265 |
1273 // Check OriginMatcherFunction. | 1266 // Check OriginMatcherFunction. |
1274 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 1267 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1275 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | |
1276 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1268 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1277 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1269 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1278 } | 1270 } |
1279 | 1271 |
1280 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedSpecificOrigin) { | 1272 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedSpecificOrigin) { |
1281 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1273 content::MockSpecialStoragePolicy* policy = CreateMockPolicy(); |
1282 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | |
1283 // Protect kOrigin1. | 1274 // Protect kOrigin1. |
1284 policy->AddProtected(kOrigin1.GetOrigin()); | 1275 policy->AddProtected(kOrigin1.GetOrigin()); |
1285 #endif | |
1286 | 1276 |
1287 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1277 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1288 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1278 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1289 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1279 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1290 | 1280 |
1291 // Try to remove kOrigin1. Expect failure. | 1281 // Try to remove kOrigin1. Expect failure. |
1292 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1282 BlockUntilOriginDataRemoved( |
1293 BrowsingDataRemover::REMOVE_APPCACHE | | 1283 base::Time(), base::Time::Max(), |
1294 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1284 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1295 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1285 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1296 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1286 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1297 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1287 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1298 BrowsingDataRemover::REMOVE_WEBSQL, | 1288 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1299 std::move(builder)); | 1289 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
| 1290 std::move(builder)); |
1300 | 1291 |
1301 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1292 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1302 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1293 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1303 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1294 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1304 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1295 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1305 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1296 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1306 BrowsingDataRemover::REMOVE_WEBSQL, | 1297 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1307 GetRemovalMask()); | 1298 GetRemovalMask()); |
1308 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1299 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1300 GetOriginTypeMask()); |
1309 | 1301 |
1310 // Verify storage partition related stuffs. | 1302 // Verify storage partition related stuffs. |
1311 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1303 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1312 | 1304 |
1313 EXPECT_EQ(removal_data.remove_mask, | 1305 EXPECT_EQ(removal_data.remove_mask, |
1314 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1306 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1315 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1307 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1316 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1308 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1317 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1309 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1318 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1310 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1319 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1311 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1320 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1312 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1321 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1313 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1322 | 1314 |
1323 // Check OriginMatcherFunction. | 1315 // Check OriginMatcherFunction. |
1324 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 1316 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1325 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | |
1326 // Since we use the matcher function to validate origins now, this should | 1317 // Since we use the matcher function to validate origins now, this should |
1327 // return false for the origins we're not trying to clear. | 1318 // return false for the origins we're not trying to clear. |
1328 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1319 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1329 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1320 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1330 } | 1321 } |
1331 | 1322 |
1332 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedOrigins) { | 1323 TEST_F(BrowsingDataRemoverImplTest, RemoveQuotaManagedProtectedOrigins) { |
1333 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1324 content::MockSpecialStoragePolicy* policy = CreateMockPolicy(); |
1334 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | |
1335 // Protect kOrigin1. | 1325 // Protect kOrigin1. |
1336 policy->AddProtected(kOrigin1.GetOrigin()); | 1326 policy->AddProtected(kOrigin1.GetOrigin()); |
1337 #endif | |
1338 | 1327 |
1339 // Try to remove kOrigin1. Expect success. | 1328 // Try to remove kOrigin1. Expect success. |
1340 BlockUntilBrowsingDataRemoved( | 1329 BlockUntilBrowsingDataRemoved( |
1341 base::Time(), base::Time::Max(), | 1330 base::Time(), base::Time::Max(), |
1342 BrowsingDataRemover::REMOVE_APPCACHE | | 1331 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1343 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1332 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1344 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1333 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1345 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1334 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1346 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1335 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1347 BrowsingDataRemover::REMOVE_WEBSQL, | 1336 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1348 true); | 1337 true); |
1349 | 1338 |
1350 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1339 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1351 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1340 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1352 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1341 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1353 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1342 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1354 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1343 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1355 BrowsingDataRemover::REMOVE_WEBSQL, | 1344 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1356 GetRemovalMask()); | 1345 GetRemovalMask()); |
1357 EXPECT_EQ(BrowsingDataHelper::PROTECTED_WEB | | 1346 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB | |
1358 BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1347 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, GetOriginTypeMask()); |
1359 | 1348 |
1360 // Verify storage partition related stuffs. | 1349 // Verify storage partition related stuffs. |
1361 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1350 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1362 | 1351 |
1363 EXPECT_EQ(removal_data.remove_mask, | 1352 EXPECT_EQ(removal_data.remove_mask, |
1364 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1353 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1365 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1354 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1366 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1355 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1367 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1356 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1368 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1357 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1369 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1358 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1370 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1359 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1371 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1360 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1372 | 1361 |
1373 // Check OriginMatcherFunction, |kOrigin1| would match mask since we | 1362 // Check OriginMatcherFunction, |kOrigin1| would match mask since we |
1374 // would have 'protected' specified in origin_type_mask. | 1363 // would have 'protected' specified in origin_type_mask. |
1375 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1364 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1376 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1365 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1377 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1366 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1378 } | 1367 } |
1379 | 1368 |
1380 TEST_F(BrowsingDataRemoverImplTest, | 1369 TEST_F(BrowsingDataRemoverImplTest, |
1381 RemoveQuotaManagedIgnoreExtensionsAndDevTools) { | 1370 RemoveQuotaManagedIgnoreExtensionsAndDevTools) { |
1382 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1371 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1383 CreateMockPolicy(); | 1372 CreateMockPolicy(); |
1384 #endif | 1373 #endif |
1385 | 1374 |
1386 BlockUntilBrowsingDataRemoved( | 1375 BlockUntilBrowsingDataRemoved( |
1387 base::Time(), base::Time::Max(), | 1376 base::Time(), base::Time::Max(), |
1388 BrowsingDataRemover::REMOVE_APPCACHE | | 1377 BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1389 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1378 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1390 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1379 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1391 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1380 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1392 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1381 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1393 BrowsingDataRemover::REMOVE_WEBSQL, | 1382 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1394 false); | 1383 false); |
1395 | 1384 |
1396 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | | 1385 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
1397 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1386 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS | |
1398 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1387 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE | |
1399 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1388 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS | |
1400 BrowsingDataRemover::REMOVE_INDEXEDDB | | 1389 BrowsingDataRemover::DATA_TYPE_INDEXED_DB | |
1401 BrowsingDataRemover::REMOVE_WEBSQL, | 1390 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1402 GetRemovalMask()); | 1391 GetRemovalMask()); |
1403 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1392 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1393 GetOriginTypeMask()); |
1404 | 1394 |
1405 // Verify storage partition related stuffs. | 1395 // Verify storage partition related stuffs. |
1406 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1396 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1407 | 1397 |
1408 EXPECT_EQ(removal_data.remove_mask, | 1398 EXPECT_EQ(removal_data.remove_mask, |
1409 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 1399 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
1410 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1400 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1411 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1401 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1412 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1402 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1413 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1403 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
(...skipping 28 matching lines...) Expand all Loading... |
1442 | 1432 |
1443 TEST_F(BrowsingDataRemoverImplTest, CompletionInhibition) { | 1433 TEST_F(BrowsingDataRemoverImplTest, CompletionInhibition) { |
1444 // The |completion_inhibitor| on the stack should prevent removal sessions | 1434 // The |completion_inhibitor| on the stack should prevent removal sessions |
1445 // from completing until after ContinueToCompletion() is called. | 1435 // from completing until after ContinueToCompletion() is called. |
1446 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 1436 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
1447 | 1437 |
1448 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( | 1438 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( |
1449 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); | 1439 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); |
1450 InspectableCompletionObserver completion_observer(remover); | 1440 InspectableCompletionObserver completion_observer(remover); |
1451 remover->RemoveAndReply(base::Time(), base::Time::Max(), | 1441 remover->RemoveAndReply(base::Time(), base::Time::Max(), |
1452 BrowsingDataRemover::REMOVE_HISTORY, | 1442 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1453 BrowsingDataHelper::UNPROTECTED_WEB, | 1443 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1454 &completion_observer); | 1444 &completion_observer); |
1455 | 1445 |
1456 // Process messages until the inhibitor is notified, and then some, to make | 1446 // Process messages until the inhibitor is notified, and then some, to make |
1457 // sure we do not complete asynchronously before ContinueToCompletion() is | 1447 // sure we do not complete asynchronously before ContinueToCompletion() is |
1458 // called. | 1448 // called. |
1459 completion_inhibitor.BlockUntilNearCompletion(); | 1449 completion_inhibitor.BlockUntilNearCompletion(); |
1460 base::RunLoop().RunUntilIdle(); | 1450 base::RunLoop().RunUntilIdle(); |
1461 | 1451 |
1462 // Verify that the removal has not yet been completed and the observer has | 1452 // Verify that the removal has not yet been completed and the observer has |
1463 // not been called. | 1453 // not been called. |
1464 EXPECT_TRUE(remover->is_removing()); | 1454 EXPECT_TRUE(remover->is_removing()); |
1465 EXPECT_FALSE(completion_observer.called()); | 1455 EXPECT_FALSE(completion_observer.called()); |
1466 | 1456 |
1467 // Now run the removal process until completion, and verify that observers are | 1457 // Now run the removal process until completion, and verify that observers are |
1468 // now notified, and the notifications is sent out. | 1458 // now notified, and the notifications is sent out. |
1469 completion_inhibitor.ContinueToCompletion(); | 1459 completion_inhibitor.ContinueToCompletion(); |
1470 completion_observer.BlockUntilCompletion(); | 1460 completion_observer.BlockUntilCompletion(); |
1471 | 1461 |
1472 EXPECT_FALSE(remover->is_removing()); | 1462 EXPECT_FALSE(remover->is_removing()); |
1473 EXPECT_TRUE(completion_observer.called()); | 1463 EXPECT_TRUE(completion_observer.called()); |
1474 } | 1464 } |
1475 | 1465 |
1476 TEST_F(BrowsingDataRemoverImplTest, EarlyShutdown) { | 1466 TEST_F(BrowsingDataRemoverImplTest, EarlyShutdown) { |
1477 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( | 1467 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( |
1478 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); | 1468 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); |
1479 InspectableCompletionObserver completion_observer(remover); | 1469 InspectableCompletionObserver completion_observer(remover); |
1480 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 1470 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
1481 remover->RemoveAndReply(base::Time(), base::Time::Max(), | 1471 remover->RemoveAndReply(base::Time(), base::Time::Max(), |
1482 BrowsingDataRemover::REMOVE_HISTORY, | 1472 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1483 BrowsingDataHelper::UNPROTECTED_WEB, | 1473 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1484 &completion_observer); | 1474 &completion_observer); |
1485 | 1475 |
1486 completion_inhibitor.BlockUntilNearCompletion(); | 1476 completion_inhibitor.BlockUntilNearCompletion(); |
1487 | 1477 |
1488 // Verify that the deletion has not yet been completed and the observer has | 1478 // Verify that the deletion has not yet been completed and the observer has |
1489 // not been called. | 1479 // not been called. |
1490 EXPECT_TRUE(remover->is_removing()); | 1480 EXPECT_TRUE(remover->is_removing()); |
1491 EXPECT_FALSE(completion_observer.called()); | 1481 EXPECT_FALSE(completion_observer.called()); |
1492 | 1482 |
1493 // Destroying the profile should trigger the notification. | 1483 // Destroying the profile should trigger the notification. |
1494 DestroyBrowserContext(); | 1484 DestroyBrowserContext(); |
1495 | 1485 |
1496 EXPECT_TRUE(completion_observer.called()); | 1486 EXPECT_TRUE(completion_observer.called()); |
1497 | 1487 |
1498 // Finishing after shutdown shouldn't break anything. | 1488 // Finishing after shutdown shouldn't break anything. |
1499 completion_inhibitor.ContinueToCompletion(); | 1489 completion_inhibitor.ContinueToCompletion(); |
1500 completion_observer.BlockUntilCompletion(); | 1490 completion_observer.BlockUntilCompletion(); |
1501 } | 1491 } |
1502 | 1492 |
1503 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByTimeOnly) { | 1493 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByTimeOnly) { |
1504 RemoveDownloadsTester tester(GetBrowserContext()); | 1494 RemoveDownloadsTester tester(GetBrowserContext()); |
1505 base::Callback<bool(const GURL&)> filter = | 1495 base::Callback<bool(const GURL&)> filter = |
1506 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1496 BrowsingDataFilterBuilder::BuildNoopFilter(); |
1507 | 1497 |
1508 EXPECT_CALL( | 1498 EXPECT_CALL( |
1509 *tester.download_manager(), | 1499 *tester.download_manager(), |
1510 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 1500 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
1511 | 1501 |
1512 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1502 BlockUntilBrowsingDataRemoved( |
1513 BrowsingDataRemover::REMOVE_DOWNLOADS, false); | 1503 base::Time(), base::Time::Max(), |
| 1504 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, false); |
1514 } | 1505 } |
1515 | 1506 |
1516 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByOrigin) { | 1507 TEST_F(BrowsingDataRemoverImplTest, RemoveDownloadsByOrigin) { |
1517 RemoveDownloadsTester tester(GetBrowserContext()); | 1508 RemoveDownloadsTester tester(GetBrowserContext()); |
1518 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1509 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
1519 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1510 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
1520 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1511 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
1521 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); | 1512 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); |
1522 | 1513 |
1523 EXPECT_CALL( | 1514 EXPECT_CALL( |
1524 *tester.download_manager(), | 1515 *tester.download_manager(), |
1525 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); | 1516 RemoveDownloadsByURLAndTime(ProbablySameFilter(filter), _, _)); |
1526 | 1517 |
1527 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1518 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
1528 BrowsingDataRemover::REMOVE_DOWNLOADS, | 1519 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1529 std::move(builder)); | 1520 std::move(builder)); |
1530 } | 1521 } |
1531 | 1522 |
1532 class MultipleTasksObserver { | 1523 class MultipleTasksObserver { |
1533 public: | 1524 public: |
1534 // A simple implementation of BrowsingDataRemover::Observer. | 1525 // A simple implementation of BrowsingDataRemover::Observer. |
1535 // MultipleTasksObserver will use several instances of Target to test | 1526 // MultipleTasksObserver will use several instances of Target to test |
1536 // that completion callbacks are returned to the correct one. | 1527 // that completion callbacks are returned to the correct one. |
1537 class Target : public BrowsingDataRemover::Observer { | 1528 class Target : public BrowsingDataRemover::Observer { |
1538 public: | 1529 public: |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1593 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1584 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
1594 filter_builder_2->AddRegisterableDomain("example.com"); | 1585 filter_builder_2->AddRegisterableDomain("example.com"); |
1595 | 1586 |
1596 MultipleTasksObserver observer(remover); | 1587 MultipleTasksObserver observer(remover); |
1597 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; | 1588 BrowsingDataRemoverCompletionInhibitor completion_inhibitor; |
1598 | 1589 |
1599 // Test several tasks with various configuration of masks, filters, and target | 1590 // Test several tasks with various configuration of masks, filters, and target |
1600 // observers. | 1591 // observers. |
1601 std::list<BrowsingDataRemoverImpl::RemovalTask> tasks; | 1592 std::list<BrowsingDataRemoverImpl::RemovalTask> tasks; |
1602 tasks.emplace_back(base::Time(), base::Time::Max(), | 1593 tasks.emplace_back(base::Time(), base::Time::Max(), |
1603 BrowsingDataRemover::REMOVE_HISTORY, | 1594 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1604 BrowsingDataHelper::UNPROTECTED_WEB, | 1595 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1605 BrowsingDataFilterBuilder::Create( | 1596 BrowsingDataFilterBuilder::Create( |
1606 BrowsingDataFilterBuilder::BLACKLIST), | 1597 BrowsingDataFilterBuilder::BLACKLIST), |
1607 observer.target_a()); | 1598 observer.target_a()); |
1608 tasks.emplace_back(base::Time(), base::Time::Max(), | 1599 tasks.emplace_back(base::Time(), base::Time::Max(), |
1609 BrowsingDataRemover::REMOVE_COOKIES, | 1600 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1610 BrowsingDataHelper::PROTECTED_WEB, | 1601 BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, |
1611 BrowsingDataFilterBuilder::Create( | 1602 BrowsingDataFilterBuilder::Create( |
1612 BrowsingDataFilterBuilder::BLACKLIST), | 1603 BrowsingDataFilterBuilder::BLACKLIST), |
1613 nullptr); | 1604 nullptr); |
1614 tasks.emplace_back( | 1605 tasks.emplace_back( |
1615 base::Time::Now(), base::Time::Max(), | 1606 base::Time::Now(), base::Time::Max(), |
1616 BrowsingDataRemover::REMOVE_PASSWORDS, BrowsingDataHelper::ALL, | 1607 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
| 1608 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB | |
| 1609 BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, |
1617 BrowsingDataFilterBuilder::Create( | 1610 BrowsingDataFilterBuilder::Create( |
1618 BrowsingDataFilterBuilder::BLACKLIST), | 1611 BrowsingDataFilterBuilder::BLACKLIST), |
1619 observer.target_b()); | 1612 observer.target_b()); |
1620 tasks.emplace_back( | 1613 tasks.emplace_back( |
1621 base::Time(), base::Time::UnixEpoch(), | 1614 base::Time(), base::Time::UnixEpoch(), |
1622 BrowsingDataRemover::REMOVE_WEBSQL, | 1615 BrowsingDataRemover::DATA_TYPE_WEB_SQL, |
1623 BrowsingDataHelper::UNPROTECTED_WEB, | 1616 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
1624 std::move(filter_builder_1), | 1617 std::move(filter_builder_1), |
1625 observer.target_b()); | 1618 observer.target_b()); |
1626 tasks.emplace_back( | 1619 tasks.emplace_back( |
1627 base::Time::UnixEpoch(), base::Time::Now(), | 1620 base::Time::UnixEpoch(), base::Time::Now(), |
1628 BrowsingDataRemover::REMOVE_CHANNEL_IDS, | 1621 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS, |
1629 BrowsingDataHelper::ALL, | 1622 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB | |
| 1623 BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, |
1630 std::move(filter_builder_2), | 1624 std::move(filter_builder_2), |
1631 nullptr); | 1625 nullptr); |
1632 | 1626 |
1633 for (BrowsingDataRemoverImpl::RemovalTask& task : tasks) { | 1627 for (BrowsingDataRemoverImpl::RemovalTask& task : tasks) { |
1634 // All tasks can be directly translated to a RemoveInternal() call. Since | 1628 // All tasks can be directly translated to a RemoveInternal() call. Since |
1635 // that is a private method, we must call the four public versions of | 1629 // that is a private method, we must call the four public versions of |
1636 // Remove.* instead. This also serves as a test that those methods are all | 1630 // Remove.* instead. This also serves as a test that those methods are all |
1637 // correctly reduced to RemoveInternal(). | 1631 // correctly reduced to RemoveInternal(). |
1638 if (!task.observer && task.filter_builder->IsEmptyBlacklist()) { | 1632 if (!task.observer && task.filter_builder->IsEmptyBlacklist()) { |
1639 remover->Remove(task.delete_begin, task.delete_end, | 1633 remover->Remove(task.delete_begin, task.delete_end, |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1681 // tasks are not mixed up and they are executed in a correct order. However, | 1675 // tasks are not mixed up and they are executed in a correct order. However, |
1682 // the completion inhibitor kept synchronizing the execution in order to verify | 1676 // the completion inhibitor kept synchronizing the execution in order to verify |
1683 // the parameters. This test demonstrates that even running the tasks without | 1677 // the parameters. This test demonstrates that even running the tasks without |
1684 // inhibition is executed correctly and doesn't crash. | 1678 // inhibition is executed correctly and doesn't crash. |
1685 TEST_F(BrowsingDataRemoverImplTest, MultipleTasksInQuickSuccession) { | 1679 TEST_F(BrowsingDataRemoverImplTest, MultipleTasksInQuickSuccession) { |
1686 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( | 1680 BrowsingDataRemoverImpl* remover = static_cast<BrowsingDataRemoverImpl*>( |
1687 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); | 1681 BrowsingDataRemoverFactory::GetForBrowserContext(GetBrowserContext())); |
1688 EXPECT_FALSE(remover->is_removing()); | 1682 EXPECT_FALSE(remover->is_removing()); |
1689 | 1683 |
1690 int test_removal_masks[] = { | 1684 int test_removal_masks[] = { |
1691 BrowsingDataRemover::REMOVE_COOKIES, | 1685 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1692 BrowsingDataRemover::REMOVE_PASSWORDS, | 1686 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
1693 BrowsingDataRemover::REMOVE_COOKIES, | 1687 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1694 BrowsingDataRemover::REMOVE_COOKIES, | 1688 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1695 BrowsingDataRemover::REMOVE_COOKIES, | 1689 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1696 BrowsingDataRemover::REMOVE_HISTORY, | 1690 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1697 BrowsingDataRemover::REMOVE_HISTORY, | 1691 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1698 BrowsingDataRemover::REMOVE_HISTORY, | 1692 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1699 BrowsingDataRemover::REMOVE_COOKIES | BrowsingDataRemover::REMOVE_HISTORY, | 1693 BrowsingDataRemover::DATA_TYPE_COOKIES | |
1700 BrowsingDataRemover::REMOVE_COOKIES | BrowsingDataRemover::REMOVE_HISTORY, | 1694 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1701 BrowsingDataRemover::REMOVE_COOKIES | | 1695 BrowsingDataRemover::DATA_TYPE_COOKIES | |
1702 BrowsingDataRemover::REMOVE_HISTORY | | 1696 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
1703 BrowsingDataRemover::REMOVE_PASSWORDS, | 1697 BrowsingDataRemover::DATA_TYPE_COOKIES | |
1704 BrowsingDataRemover::REMOVE_PASSWORDS, | 1698 BrowsingDataRemover::DATA_TYPE_DOWNLOADS | |
1705 BrowsingDataRemover::REMOVE_PASSWORDS, | 1699 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
| 1700 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
| 1701 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE, |
1706 }; | 1702 }; |
1707 | 1703 |
1708 for (int removal_mask : test_removal_masks) { | 1704 for (int removal_mask : test_removal_masks) { |
1709 remover->Remove(base::Time(), base::Time::Max(), removal_mask, | 1705 remover->Remove(base::Time(), base::Time::Max(), removal_mask, |
1710 BrowsingDataHelper::UNPROTECTED_WEB); | 1706 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB); |
1711 } | 1707 } |
1712 | 1708 |
1713 EXPECT_TRUE(remover->is_removing()); | 1709 EXPECT_TRUE(remover->is_removing()); |
1714 | 1710 |
1715 // Add one more deletion and wait for it. | 1711 // Add one more deletion and wait for it. |
1716 BlockUntilBrowsingDataRemoved( | 1712 BlockUntilBrowsingDataRemoved( |
1717 base::Time(), base::Time::Max(), | 1713 base::Time(), base::Time::Max(), |
1718 BrowsingDataRemover::REMOVE_COOKIES, | 1714 BrowsingDataRemover::DATA_TYPE_COOKIES, |
1719 BrowsingDataHelper::UNPROTECTED_WEB); | 1715 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB); |
1720 | 1716 |
1721 EXPECT_FALSE(remover->is_removing()); | 1717 EXPECT_FALSE(remover->is_removing()); |
1722 } | 1718 } |
OLD | NEW |