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

Side by Side Diff: chrome/browser/browsing_data_remover_unittest.cc

Issue 9358050: BrowsingDataRemover: Enable origin-based deletion for quota-managed data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing. Grrr. Created 8 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browsing_data_remover.h" 5 #include "chrome/browser/browsing_data_remover.h"
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 tester->BlockUntilNotified(); 329 tester->BlockUntilNotified();
330 } 330 }
331 331
332 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period, 332 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period,
333 int remove_mask, 333 int remove_mask,
334 const GURL& remove_origin, 334 const GURL& remove_origin,
335 BrowsingDataRemoverTester* tester) { 335 BrowsingDataRemoverTester* tester) {
336 BrowsingDataRemover* remover = new BrowsingDataRemover( 336 BrowsingDataRemover* remover = new BrowsingDataRemover(
337 profile_.get(), period, 337 profile_.get(), period,
338 base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); 338 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
339 remover->OverrideQuotaManagerForTesting(GetMockManager());
339 remover->AddObserver(tester); 340 remover->AddObserver(tester);
340 341
341 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 342 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
342 343
343 // BrowsingDataRemover deletes itself when it completes. 344 // BrowsingDataRemover deletes itself when it completes.
344 remover->RemoveImpl(remove_mask, remove_origin, false); 345 remover->RemoveImpl(remove_mask, remove_origin, false);
345 tester->BlockUntilNotified(); 346 tester->BlockUntilNotified();
346 } 347 }
347 348
348 TestingProfile* GetProfile() { 349 TestingProfile* GetProfile() {
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 605 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
605 kClientFile)); 606 kClientFile));
606 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 607 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
607 kClientFile)); 608 kClientFile));
608 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 609 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
609 kClientFile)); 610 kClientFile));
610 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 611 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
611 kClientFile)); 612 kClientFile));
612 } 613 }
613 614
615 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) {
616 scoped_ptr<RemoveQuotaManagedDataTester> tester(
617 new RemoveQuotaManagedDataTester());
618 tester->PopulateTestQuotaManagedData(GetMockManager());
619
620 // Remove Origin 1.
621 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING,
622 BrowsingDataRemover::REMOVE_APPCACHE |
623 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
624 BrowsingDataRemover::REMOVE_INDEXEDDB |
625 BrowsingDataRemover::REMOVE_WEBSQL, kOrigin1, tester.get());
626
627 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
628 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
629 BrowsingDataRemover::REMOVE_INDEXEDDB |
630 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
631 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
632 kClientFile));
633 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
634 kClientFile));
635 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
636 kClientFile));
637 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
638 kClientFile));
639 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
640 kClientFile));
641 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
642 kClientFile));
643 }
644
614 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { 645 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
615 scoped_ptr<RemoveQuotaManagedDataTester> tester( 646 scoped_ptr<RemoveQuotaManagedDataTester> tester(
616 new RemoveQuotaManagedDataTester()); 647 new RemoveQuotaManagedDataTester());
617 tester->PopulateTestQuotaManagedData(GetMockManager()); 648 tester->PopulateTestQuotaManagedData(GetMockManager());
618 649
619 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 650 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
620 BrowsingDataRemover::REMOVE_SITE_DATA & 651 BrowsingDataRemover::REMOVE_SITE_DATA &
621 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, tester.get()); 652 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, tester.get());
622 653
623 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 654 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 716 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
686 kClientFile)); 717 kClientFile));
687 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 718 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
688 kClientFile)); 719 kClientFile));
689 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 720 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
690 kClientFile)); 721 kClientFile));
691 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 722 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
692 kClientFile)); 723 kClientFile));
693 } 724 }
694 725
726 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedSpecificOrigin) {
727 // Protect kOrigin1.
728 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
729 new MockExtensionSpecialStoragePolicy;
730 mock_policy->AddProtected(kOrigin1.GetOrigin());
731 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
732
733 scoped_ptr<RemoveQuotaManagedDataTester> tester(
734 new RemoveQuotaManagedDataTester());
735 tester->PopulateTestQuotaManagedData(GetMockManager());
736
737 // Try to remove kOrigin1. Expect failure.
738 BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING,
739 BrowsingDataRemover::REMOVE_APPCACHE |
740 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
741 BrowsingDataRemover::REMOVE_INDEXEDDB |
742 BrowsingDataRemover::REMOVE_WEBSQL, kOrigin1, tester.get());
743
744 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
745 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
746 BrowsingDataRemover::REMOVE_INDEXEDDB |
747 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
748 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
749 kClientFile));
750 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
751 kClientFile));
752 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
753 kClientFile));
754 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
755 kClientFile));
756 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
757 kClientFile));
758 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
759 kClientFile));
760 }
761
695 TEST_F(BrowsingDataRemoverTest, OriginBasedHistoryRemoval) { 762 TEST_F(BrowsingDataRemoverTest, OriginBasedHistoryRemoval) {
696 scoped_ptr<RemoveHistoryTester> tester( 763 scoped_ptr<RemoveHistoryTester> tester(
697 new RemoveHistoryTester(GetProfile())); 764 new RemoveHistoryTester(GetProfile()));
698 765
699 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 766 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
700 767
701 tester->AddHistory(kOrigin1, base::Time::Now()); 768 tester->AddHistory(kOrigin1, base::Time::Now());
702 tester->AddHistory(kOrigin2, two_hours_ago); 769 tester->AddHistory(kOrigin2, two_hours_ago);
703 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 770 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
704 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 771 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
(...skipping 17 matching lines...) Expand all
722 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 789 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
723 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 790 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
724 791
725 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 792 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR,
726 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get()); 793 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
727 794
728 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 795 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
729 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1)); 796 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
730 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 797 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
731 } 798 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698