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

Side by Side Diff: webkit/quota/quota_manager_unittest.cc

Issue 7618025: Send notifications on the IO thread when changes are made to the special storage policy. Listen f... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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 | « webkit/quota/mock_special_storage_policy.h ('k') | webkit/quota/special_storage_policy.h » ('j') | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <set> 5 #include <set>
6 #include <sstream> 6 #include <sstream>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/memory/scoped_callback_factory.h" 10 #include "base/memory/scoped_callback_factory.h"
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 { "http://unlimited/", kTemp, 4000 }, 703 { "http://unlimited/", kTemp, 4000 },
704 }; 704 };
705 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); 705 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/"));
706 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); 706 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData));
707 RegisterClient(client); 707 RegisterClient(client);
708 708
709 // Test when not overbugdet. 709 // Test when not overbugdet.
710 SetTemporaryGlobalQuota(1000); 710 SetTemporaryGlobalQuota(1000);
711 MessageLoop::current()->RunAllPending(); 711 MessageLoop::current()->RunAllPending();
712 712
713 GetGlobalUsage(kTemp);
714 MessageLoop::current()->RunAllPending();
715 EXPECT_EQ(10 + 50 + 4000, usage());
716 EXPECT_EQ(4000, unlimited_usage());
717
713 const int kPerHostQuotaFor1000 = 718 const int kPerHostQuotaFor1000 =
714 1000 / QuotaManager::kPerHostTemporaryPortion; 719 1000 / QuotaManager::kPerHostTemporaryPortion;
715 720
716 GetUsageAndQuota(GURL("http://usage10/"), kTemp); 721 GetUsageAndQuota(GURL("http://usage10/"), kTemp);
717 MessageLoop::current()->RunAllPending(); 722 MessageLoop::current()->RunAllPending();
718 EXPECT_EQ(kQuotaStatusOk, status()); 723 EXPECT_EQ(kQuotaStatusOk, status());
719 EXPECT_EQ(10, usage()); 724 EXPECT_EQ(10, usage());
720 EXPECT_EQ(kPerHostQuotaFor1000, quota()); 725 EXPECT_EQ(kPerHostQuotaFor1000, quota());
721 726
722 GetUsageAndQuota(GURL("http://usage50/"), kTemp); 727 GetUsageAndQuota(GURL("http://usage50/"), kTemp);
(...skipping 25 matching lines...) Expand all
748 MessageLoop::current()->RunAllPending(); 753 MessageLoop::current()->RunAllPending();
749 EXPECT_EQ(kQuotaStatusOk, status()); 754 EXPECT_EQ(kQuotaStatusOk, status());
750 EXPECT_EQ(50, usage()); 755 EXPECT_EQ(50, usage());
751 EXPECT_EQ(kPerHostQuotaFor100, quota()); 756 EXPECT_EQ(kPerHostQuotaFor100, quota());
752 757
753 GetUsageAndQuota(GURL("http://unlimited/"), kTemp); 758 GetUsageAndQuota(GURL("http://unlimited/"), kTemp);
754 MessageLoop::current()->RunAllPending(); 759 MessageLoop::current()->RunAllPending();
755 EXPECT_EQ(kQuotaStatusOk, status()); 760 EXPECT_EQ(kQuotaStatusOk, status());
756 EXPECT_EQ(4000, usage()); 761 EXPECT_EQ(4000, usage());
757 EXPECT_EQ(kint64max, quota()); 762 EXPECT_EQ(kint64max, quota());
763
764 // Revoke the unlimited rights and make sure the change is noticed.
765 mock_special_storage_policy()->Reset();
766 mock_special_storage_policy()->NotifyChanged();
767
768 GetGlobalUsage(kTemp);
769 MessageLoop::current()->RunAllPending();
770 EXPECT_EQ(10 + 50 + 4000, usage());
771 EXPECT_EQ(0, unlimited_usage());
772
773 GetUsageAndQuota(GURL("http://usage10/"), kTemp);
774 MessageLoop::current()->RunAllPending();
775 EXPECT_EQ(kQuotaStatusOk, status());
776 EXPECT_EQ(10, usage());
777 EXPECT_EQ(10, quota()); // should be clamped to our current usage
778
779 GetUsageAndQuota(GURL("http://usage50/"), kTemp);
780 MessageLoop::current()->RunAllPending();
781 EXPECT_EQ(kQuotaStatusOk, status());
782 EXPECT_EQ(50, usage());
783 EXPECT_EQ(kPerHostQuotaFor100, quota());
784
785 GetUsageAndQuota(GURL("http://unlimited/"), kTemp);
786 MessageLoop::current()->RunAllPending();
787 EXPECT_EQ(kQuotaStatusOk, status());
788 EXPECT_EQ(4000, usage());
789 EXPECT_EQ(kPerHostQuotaFor100, quota());
758 } 790 }
759 791
760 TEST_F(QuotaManagerTest, OriginInUse) { 792 TEST_F(QuotaManagerTest, OriginInUse) {
761 const GURL kFooOrigin("http://foo.com/"); 793 const GURL kFooOrigin("http://foo.com/");
762 const GURL kBarOrigin("http://bar.com/"); 794 const GURL kBarOrigin("http://bar.com/");
763 795
764 EXPECT_FALSE(quota_manager()->IsOriginInUse(kFooOrigin)); 796 EXPECT_FALSE(quota_manager()->IsOriginInUse(kFooOrigin));
765 quota_manager()->NotifyOriginInUse(kFooOrigin); // count of 1 797 quota_manager()->NotifyOriginInUse(kFooOrigin); // count of 1
766 EXPECT_TRUE(quota_manager()->IsOriginInUse(kFooOrigin)); 798 EXPECT_TRUE(quota_manager()->IsOriginInUse(kFooOrigin));
767 quota_manager()->NotifyOriginInUse(kFooOrigin); // count of 2 799 quota_manager()->NotifyOriginInUse(kFooOrigin); // count of 2
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
1553 GetPersistentHostQuota(std::string()); 1585 GetPersistentHostQuota(std::string());
1554 MessageLoop::current()->RunAllPending(); 1586 MessageLoop::current()->RunAllPending();
1555 EXPECT_EQ(kQuotaStatusOk, status()); 1587 EXPECT_EQ(kQuotaStatusOk, status());
1556 EXPECT_EQ(0, quota()); 1588 EXPECT_EQ(0, quota());
1557 1589
1558 SetPersistentHostQuota(std::string(), 10); 1590 SetPersistentHostQuota(std::string(), 10);
1559 MessageLoop::current()->RunAllPending(); 1591 MessageLoop::current()->RunAllPending();
1560 EXPECT_EQ(kQuotaErrorNotSupported, status()); 1592 EXPECT_EQ(kQuotaErrorNotSupported, status());
1561 } 1593 }
1562 } // namespace quota 1594 } // namespace quota
OLDNEW
« no previous file with comments | « webkit/quota/mock_special_storage_policy.h ('k') | webkit/quota/special_storage_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698