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

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

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

Powered by Google App Engine
This is Rietveld 408576698