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

Side by Side Diff: content/browser/quota/quota_manager_unittest.cc

Issue 654403002: Convert ARRAYSIZE_UNSAFE -> arraysize in content/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 #include <sstream> 7 #include <sstream>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 { "http://foo.com:8080/", kTemp, 15 }, 462 { "http://foo.com:8080/", kTemp, 15 },
463 { "http://bar.com/", kTemp, 20 }, 463 { "http://bar.com/", kTemp, 20 },
464 { "http://bar.com/", kPerm, 50 }, 464 { "http://bar.com/", kPerm, 50 },
465 }; 465 };
466 static const MockOriginData kData2[] = { 466 static const MockOriginData kData2[] = {
467 { "https://foo.com/", kTemp, 30 }, 467 { "https://foo.com/", kTemp, 30 },
468 { "https://foo.com:8081/", kTemp, 35 }, 468 { "https://foo.com:8081/", kTemp, 35 },
469 { "http://bar.com/", kPerm, 40 }, 469 { "http://bar.com/", kPerm, 40 },
470 { "http://example.com/", kPerm, 40 }, 470 { "http://example.com/", kPerm, 40 },
471 }; 471 };
472 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 472 RegisterClient(CreateClient(kData1, arraysize(kData1),
473 QuotaClient::kFileSystem)); 473 QuotaClient::kFileSystem));
474 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 474 RegisterClient(CreateClient(kData2, arraysize(kData2),
475 QuotaClient::kDatabase)); 475 QuotaClient::kDatabase));
476 476
477 GetUsageInfo(); 477 GetUsageInfo();
478 base::RunLoop().RunUntilIdle(); 478 base::RunLoop().RunUntilIdle();
479 479
480 EXPECT_EQ(4U, usage_info().size()); 480 EXPECT_EQ(4U, usage_info().size());
481 for (size_t i = 0; i < usage_info().size(); ++i) { 481 for (size_t i = 0; i < usage_info().size(); ++i) {
482 const UsageInfo& info = usage_info()[i]; 482 const UsageInfo& info = usage_info()[i];
483 if (info.host == "foo.com" && info.type == kTemp) { 483 if (info.host == "foo.com" && info.type == kTemp) {
484 EXPECT_EQ(10 + 15 + 30 + 35, info.usage); 484 EXPECT_EQ(10 + 15 + 30 + 35, info.usage);
485 } else if (info.host == "bar.com" && info.type == kTemp) { 485 } else if (info.host == "bar.com" && info.type == kTemp) {
486 EXPECT_EQ(20, info.usage); 486 EXPECT_EQ(20, info.usage);
487 } else if (info.host == "bar.com" && info.type == kPerm) { 487 } else if (info.host == "bar.com" && info.type == kPerm) {
488 EXPECT_EQ(50 + 40, info.usage); 488 EXPECT_EQ(50 + 40, info.usage);
489 } else if (info.host == "example.com" && info.type == kPerm) { 489 } else if (info.host == "example.com" && info.type == kPerm) {
490 EXPECT_EQ(40, info.usage); 490 EXPECT_EQ(40, info.usage);
491 } else { 491 } else {
492 ADD_FAILURE() 492 ADD_FAILURE()
493 << "Unexpected host, type: " << info.host << ", " << info.type; 493 << "Unexpected host, type: " << info.host << ", " << info.type;
494 } 494 }
495 } 495 }
496 } 496 }
497 497
498 TEST_F(QuotaManagerTest, GetUsageAndQuota_Simple) { 498 TEST_F(QuotaManagerTest, GetUsageAndQuota_Simple) {
499 static const MockOriginData kData[] = { 499 static const MockOriginData kData[] = {
500 { "http://foo.com/", kTemp, 10 }, 500 { "http://foo.com/", kTemp, 10 },
501 { "http://foo.com/", kPerm, 80 }, 501 { "http://foo.com/", kPerm, 80 },
502 }; 502 };
503 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 503 RegisterClient(CreateClient(kData, arraysize(kData),
504 QuotaClient::kFileSystem)); 504 QuotaClient::kFileSystem));
505 505
506 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 506 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
507 base::RunLoop().RunUntilIdle(); 507 base::RunLoop().RunUntilIdle();
508 EXPECT_EQ(kQuotaStatusOk, status()); 508 EXPECT_EQ(kQuotaStatusOk, status());
509 EXPECT_EQ(80, usage()); 509 EXPECT_EQ(80, usage());
510 EXPECT_EQ(0, quota()); 510 EXPECT_EQ(0, quota());
511 511
512 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 512 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
513 base::RunLoop().RunUntilIdle(); 513 base::RunLoop().RunUntilIdle();
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 586
587 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_MultiOrigins) { 587 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_MultiOrigins) {
588 static const MockOriginData kData[] = { 588 static const MockOriginData kData[] = {
589 { "http://foo.com/", kTemp, 10 }, 589 { "http://foo.com/", kTemp, 10 },
590 { "http://foo.com:8080/", kTemp, 20 }, 590 { "http://foo.com:8080/", kTemp, 20 },
591 { "http://bar.com/", kTemp, 5 }, 591 { "http://bar.com/", kTemp, 5 },
592 { "https://bar.com/", kTemp, 7 }, 592 { "https://bar.com/", kTemp, 7 },
593 { "http://baz.com/", kTemp, 30 }, 593 { "http://baz.com/", kTemp, 30 },
594 { "http://foo.com/", kPerm, 40 }, 594 { "http://foo.com/", kPerm, 40 },
595 }; 595 };
596 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 596 RegisterClient(CreateClient(kData, arraysize(kData),
597 QuotaClient::kFileSystem)); 597 QuotaClient::kFileSystem));
598 598
599 // This time explicitly sets a temporary global quota. 599 // This time explicitly sets a temporary global quota.
600 SetTemporaryGlobalQuota(100); 600 SetTemporaryGlobalQuota(100);
601 base::RunLoop().RunUntilIdle(); 601 base::RunLoop().RunUntilIdle();
602 EXPECT_EQ(kQuotaStatusOk, status()); 602 EXPECT_EQ(kQuotaStatusOk, status());
603 EXPECT_EQ(100, quota()); 603 EXPECT_EQ(100, quota());
604 604
605 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 605 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
606 base::RunLoop().RunUntilIdle(); 606 base::RunLoop().RunUntilIdle();
(...skipping 22 matching lines...) Expand all
629 { "http://installed/", kPerm, 16 }, 629 { "http://installed/", kPerm, 16 },
630 }; 630 };
631 static const MockOriginData kData2[] = { 631 static const MockOriginData kData2[] = {
632 { "https://foo.com/", kTemp, 128 }, 632 { "https://foo.com/", kTemp, 128 },
633 { "http://example.com/", kPerm, 256 }, 633 { "http://example.com/", kPerm, 256 },
634 { "http://unlimited/", kTemp, 512 }, 634 { "http://unlimited/", kTemp, 512 },
635 { "http://installed/", kTemp, 1024 }, 635 { "http://installed/", kTemp, 1024 },
636 }; 636 };
637 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); 637 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/"));
638 mock_special_storage_policy()->GrantQueryDiskSize(GURL("http://installed/")); 638 mock_special_storage_policy()->GrantQueryDiskSize(GURL("http://installed/"));
639 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 639 RegisterClient(CreateClient(kData1, arraysize(kData1),
640 QuotaClient::kFileSystem)); 640 QuotaClient::kFileSystem));
641 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 641 RegisterClient(CreateClient(kData2, arraysize(kData2),
642 QuotaClient::kDatabase)); 642 QuotaClient::kDatabase));
643 643
644 const int64 kTempQuotaBase = 644 const int64 kTempQuotaBase =
645 GetAvailableDiskSpaceForTest(base::FilePath()) / kPerHostTemporaryPortion; 645 GetAvailableDiskSpaceForTest(base::FilePath()) / kPerHostTemporaryPortion;
646 646
647 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 647 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
648 base::RunLoop().RunUntilIdle(); 648 base::RunLoop().RunUntilIdle();
649 EXPECT_EQ(kQuotaStatusOk, status()); 649 EXPECT_EQ(kQuotaStatusOk, status());
650 EXPECT_EQ(1 + 128, usage()); 650 EXPECT_EQ(1 + 128, usage());
651 651
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 EXPECT_EQ(kQuotaStatusOk, status()); 694 EXPECT_EQ(kQuotaStatusOk, status());
695 EXPECT_EQ(4 + 8 + 16 + 256, usage()); 695 EXPECT_EQ(4 + 8 + 16 + 256, usage());
696 EXPECT_EQ(8, unlimited_usage()); 696 EXPECT_EQ(8, unlimited_usage());
697 } 697 }
698 698
699 void QuotaManagerTest::GetUsage_WithModifyTestBody(const StorageType type) { 699 void QuotaManagerTest::GetUsage_WithModifyTestBody(const StorageType type) {
700 const MockOriginData data[] = { 700 const MockOriginData data[] = {
701 { "http://foo.com/", type, 10 }, 701 { "http://foo.com/", type, 10 },
702 { "http://foo.com:1/", type, 20 }, 702 { "http://foo.com:1/", type, 20 },
703 }; 703 };
704 MockStorageClient* client = CreateClient(data, ARRAYSIZE_UNSAFE(data), 704 MockStorageClient* client = CreateClient(data, arraysize(data),
705 QuotaClient::kFileSystem); 705 QuotaClient::kFileSystem);
706 RegisterClient(client); 706 RegisterClient(client);
707 707
708 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), type); 708 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), type);
709 base::RunLoop().RunUntilIdle(); 709 base::RunLoop().RunUntilIdle();
710 EXPECT_EQ(kQuotaStatusOk, status()); 710 EXPECT_EQ(kQuotaStatusOk, status());
711 EXPECT_EQ(10 + 20, usage()); 711 EXPECT_EQ(10 + 20, usage());
712 712
713 client->ModifyOriginAndNotify(GURL("http://foo.com/"), type, 30); 713 client->ModifyOriginAndNotify(GURL("http://foo.com/"), type, 30);
714 client->ModifyOriginAndNotify(GURL("http://foo.com:1/"), type, -5); 714 client->ModifyOriginAndNotify(GURL("http://foo.com:1/"), type, -5);
(...skipping 21 matching lines...) Expand all
736 GetUsage_WithModifyTestBody(kTemp); 736 GetUsage_WithModifyTestBody(kTemp);
737 } 737 }
738 738
739 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_WithAdditionalTasks) { 739 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_WithAdditionalTasks) {
740 static const MockOriginData kData[] = { 740 static const MockOriginData kData[] = {
741 { "http://foo.com/", kTemp, 10 }, 741 { "http://foo.com/", kTemp, 10 },
742 { "http://foo.com:8080/", kTemp, 20 }, 742 { "http://foo.com:8080/", kTemp, 20 },
743 { "http://bar.com/", kTemp, 13 }, 743 { "http://bar.com/", kTemp, 13 },
744 { "http://foo.com/", kPerm, 40 }, 744 { "http://foo.com/", kPerm, 40 },
745 }; 745 };
746 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 746 RegisterClient(CreateClient(kData, arraysize(kData),
747 QuotaClient::kFileSystem)); 747 QuotaClient::kFileSystem));
748 SetTemporaryGlobalQuota(100); 748 SetTemporaryGlobalQuota(100);
749 base::RunLoop().RunUntilIdle(); 749 base::RunLoop().RunUntilIdle();
750 750
751 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; 751 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion;
752 752
753 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 753 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
754 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 754 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
755 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 755 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
756 base::RunLoop().RunUntilIdle(); 756 base::RunLoop().RunUntilIdle();
(...skipping 13 matching lines...) Expand all
770 EXPECT_EQ(2, additional_callback_count()); 770 EXPECT_EQ(2, additional_callback_count());
771 } 771 }
772 772
773 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_NukeManager) { 773 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_NukeManager) {
774 static const MockOriginData kData[] = { 774 static const MockOriginData kData[] = {
775 { "http://foo.com/", kTemp, 10 }, 775 { "http://foo.com/", kTemp, 10 },
776 { "http://foo.com:8080/", kTemp, 20 }, 776 { "http://foo.com:8080/", kTemp, 20 },
777 { "http://bar.com/", kTemp, 13 }, 777 { "http://bar.com/", kTemp, 13 },
778 { "http://foo.com/", kPerm, 40 }, 778 { "http://foo.com/", kPerm, 40 },
779 }; 779 };
780 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 780 RegisterClient(CreateClient(kData, arraysize(kData),
781 QuotaClient::kFileSystem)); 781 QuotaClient::kFileSystem));
782 SetTemporaryGlobalQuota(100); 782 SetTemporaryGlobalQuota(100);
783 base::RunLoop().RunUntilIdle(); 783 base::RunLoop().RunUntilIdle();
784 784
785 set_additional_callback_count(0); 785 set_additional_callback_count(0);
786 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 786 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
787 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), 787 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"),
788 kTemp); 788 kTemp);
789 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), 789 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"),
790 kTemp); 790 kTemp);
791 791
792 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); 792 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients);
793 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); 793 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients);
794 794
795 // Nuke before waiting for callbacks. 795 // Nuke before waiting for callbacks.
796 set_quota_manager(NULL); 796 set_quota_manager(NULL);
797 base::RunLoop().RunUntilIdle(); 797 base::RunLoop().RunUntilIdle();
798 EXPECT_EQ(kQuotaErrorAbort, status()); 798 EXPECT_EQ(kQuotaErrorAbort, status());
799 } 799 }
800 800
801 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Overbudget) { 801 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Overbudget) {
802 static const MockOriginData kData[] = { 802 static const MockOriginData kData[] = {
803 { "http://usage1/", kTemp, 1 }, 803 { "http://usage1/", kTemp, 1 },
804 { "http://usage10/", kTemp, 10 }, 804 { "http://usage10/", kTemp, 10 },
805 { "http://usage200/", kTemp, 200 }, 805 { "http://usage200/", kTemp, 200 },
806 }; 806 };
807 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 807 RegisterClient(CreateClient(kData, arraysize(kData),
808 QuotaClient::kFileSystem)); 808 QuotaClient::kFileSystem));
809 SetTemporaryGlobalQuota(100); 809 SetTemporaryGlobalQuota(100);
810 base::RunLoop().RunUntilIdle(); 810 base::RunLoop().RunUntilIdle();
811 811
812 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; 812 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion;
813 813
814 GetUsageAndQuotaForWebApps(GURL("http://usage1/"), kTemp); 814 GetUsageAndQuotaForWebApps(GURL("http://usage1/"), kTemp);
815 base::RunLoop().RunUntilIdle(); 815 base::RunLoop().RunUntilIdle();
816 EXPECT_EQ(kQuotaStatusOk, status()); 816 EXPECT_EQ(kQuotaStatusOk, status());
817 EXPECT_EQ(1, usage()); 817 EXPECT_EQ(1, usage());
(...skipping 12 matching lines...) Expand all
830 EXPECT_EQ(kPerHostQuota, quota()); // should be clamped to the nominal quota 830 EXPECT_EQ(kPerHostQuota, quota()); // should be clamped to the nominal quota
831 } 831 }
832 832
833 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Unlimited) { 833 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Unlimited) {
834 static const MockOriginData kData[] = { 834 static const MockOriginData kData[] = {
835 { "http://usage10/", kTemp, 10 }, 835 { "http://usage10/", kTemp, 10 },
836 { "http://usage50/", kTemp, 50 }, 836 { "http://usage50/", kTemp, 50 },
837 { "http://unlimited/", kTemp, 4000 }, 837 { "http://unlimited/", kTemp, 4000 },
838 }; 838 };
839 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); 839 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/"));
840 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 840 MockStorageClient* client = CreateClient(kData, arraysize(kData),
841 QuotaClient::kFileSystem); 841 QuotaClient::kFileSystem);
842 RegisterClient(client); 842 RegisterClient(client);
843 843
844 // Test when not overbugdet. 844 // Test when not overbugdet.
845 SetTemporaryGlobalQuota(1000); 845 SetTemporaryGlobalQuota(1000);
846 base::RunLoop().RunUntilIdle(); 846 base::RunLoop().RunUntilIdle();
847 847
848 GetGlobalUsage(kTemp); 848 GetGlobalUsage(kTemp);
849 base::RunLoop().RunUntilIdle(); 849 base::RunLoop().RunUntilIdle();
850 EXPECT_EQ(10 + 50 + 4000, usage()); 850 EXPECT_EQ(10 + 50 + 4000, usage());
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1058 static const MockOriginData kData[] = { 1058 static const MockOriginData kData[] = {
1059 { "http://foo.com/", kPerm, 10 }, 1059 { "http://foo.com/", kPerm, 10 },
1060 { "http://foo.com:8080/", kPerm, 20 }, 1060 { "http://foo.com:8080/", kPerm, 20 },
1061 { "https://foo.com/", kPerm, 13 }, 1061 { "https://foo.com/", kPerm, 13 },
1062 { "https://foo.com:8081/", kPerm, 19 }, 1062 { "https://foo.com:8081/", kPerm, 19 },
1063 { "http://bar.com/", kPerm, 5 }, 1063 { "http://bar.com/", kPerm, 5 },
1064 { "https://bar.com/", kPerm, 7 }, 1064 { "https://bar.com/", kPerm, 7 },
1065 { "http://baz.com/", kPerm, 30 }, 1065 { "http://baz.com/", kPerm, 30 },
1066 { "http://foo.com/", kTemp, 40 }, 1066 { "http://foo.com/", kTemp, 40 },
1067 }; 1067 };
1068 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1068 RegisterClient(CreateClient(kData, arraysize(kData),
1069 QuotaClient::kFileSystem)); 1069 QuotaClient::kFileSystem));
1070 1070
1071 SetPersistentHostQuota("foo.com", 100); 1071 SetPersistentHostQuota("foo.com", 100);
1072 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1072 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1073 base::RunLoop().RunUntilIdle(); 1073 base::RunLoop().RunUntilIdle();
1074 EXPECT_EQ(kQuotaStatusOk, status()); 1074 EXPECT_EQ(kQuotaStatusOk, status());
1075 EXPECT_EQ(10 + 20 + 13 + 19, usage()); 1075 EXPECT_EQ(10 + 20 + 13 + 19, usage());
1076 EXPECT_EQ(100, quota()); 1076 EXPECT_EQ(100, quota());
1077 } 1077 }
1078 1078
1079 TEST_F(QuotaManagerTest, GetPersistentUsage_WithModify) { 1079 TEST_F(QuotaManagerTest, GetPersistentUsage_WithModify) {
1080 GetUsage_WithModifyTestBody(kPerm); 1080 GetUsage_WithModifyTestBody(kPerm);
1081 } 1081 }
1082 1082
1083 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_WithAdditionalTasks) { 1083 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_WithAdditionalTasks) {
1084 static const MockOriginData kData[] = { 1084 static const MockOriginData kData[] = {
1085 { "http://foo.com/", kPerm, 10 }, 1085 { "http://foo.com/", kPerm, 10 },
1086 { "http://foo.com:8080/", kPerm, 20 }, 1086 { "http://foo.com:8080/", kPerm, 20 },
1087 { "http://bar.com/", kPerm, 13 }, 1087 { "http://bar.com/", kPerm, 13 },
1088 { "http://foo.com/", kTemp, 40 }, 1088 { "http://foo.com/", kTemp, 40 },
1089 }; 1089 };
1090 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1090 RegisterClient(CreateClient(kData, arraysize(kData),
1091 QuotaClient::kFileSystem)); 1091 QuotaClient::kFileSystem));
1092 SetPersistentHostQuota("foo.com", 100); 1092 SetPersistentHostQuota("foo.com", 100);
1093 1093
1094 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1094 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1095 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1095 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1096 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1096 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1097 base::RunLoop().RunUntilIdle(); 1097 base::RunLoop().RunUntilIdle();
1098 EXPECT_EQ(kQuotaStatusOk, status()); 1098 EXPECT_EQ(kQuotaStatusOk, status());
1099 EXPECT_EQ(10 + 20, usage()); 1099 EXPECT_EQ(10 + 20, usage());
1100 EXPECT_EQ(100, quota()); 1100 EXPECT_EQ(100, quota());
1101 1101
1102 set_additional_callback_count(0); 1102 set_additional_callback_count(0);
1103 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), 1103 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"),
1104 kPerm); 1104 kPerm);
1105 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1105 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1106 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), kPerm); 1106 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), kPerm);
1107 base::RunLoop().RunUntilIdle(); 1107 base::RunLoop().RunUntilIdle();
1108 EXPECT_EQ(kQuotaStatusOk, status()); 1108 EXPECT_EQ(kQuotaStatusOk, status());
1109 EXPECT_EQ(10 + 20, usage()); 1109 EXPECT_EQ(10 + 20, usage());
1110 EXPECT_EQ(2, additional_callback_count()); 1110 EXPECT_EQ(2, additional_callback_count());
1111 } 1111 }
1112 1112
1113 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_NukeManager) { 1113 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_NukeManager) {
1114 static const MockOriginData kData[] = { 1114 static const MockOriginData kData[] = {
1115 { "http://foo.com/", kPerm, 10 }, 1115 { "http://foo.com/", kPerm, 10 },
1116 { "http://foo.com:8080/", kPerm, 20 }, 1116 { "http://foo.com:8080/", kPerm, 20 },
1117 { "http://bar.com/", kPerm, 13 }, 1117 { "http://bar.com/", kPerm, 13 },
1118 { "http://foo.com/", kTemp, 40 }, 1118 { "http://foo.com/", kTemp, 40 },
1119 }; 1119 };
1120 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1120 RegisterClient(CreateClient(kData, arraysize(kData),
1121 QuotaClient::kFileSystem)); 1121 QuotaClient::kFileSystem));
1122 SetPersistentHostQuota("foo.com", 100); 1122 SetPersistentHostQuota("foo.com", 100);
1123 1123
1124 set_additional_callback_count(0); 1124 set_additional_callback_count(0);
1125 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 1125 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
1126 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), kPerm); 1126 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), kPerm);
1127 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), kPerm); 1127 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), kPerm);
1128 1128
1129 // Nuke before waiting for callbacks. 1129 // Nuke before waiting for callbacks.
1130 set_quota_manager(NULL); 1130 set_quota_manager(NULL);
1131 base::RunLoop().RunUntilIdle(); 1131 base::RunLoop().RunUntilIdle();
1132 EXPECT_EQ(kQuotaErrorAbort, status()); 1132 EXPECT_EQ(kQuotaErrorAbort, status());
1133 } 1133 }
1134 1134
1135 TEST_F(QuotaManagerTest, GetUsage_Simple) { 1135 TEST_F(QuotaManagerTest, GetUsage_Simple) {
1136 static const MockOriginData kData[] = { 1136 static const MockOriginData kData[] = {
1137 { "http://foo.com/", kPerm, 1 }, 1137 { "http://foo.com/", kPerm, 1 },
1138 { "http://foo.com:1/", kPerm, 20 }, 1138 { "http://foo.com:1/", kPerm, 20 },
1139 { "http://bar.com/", kTemp, 300 }, 1139 { "http://bar.com/", kTemp, 300 },
1140 { "https://buz.com/", kTemp, 4000 }, 1140 { "https://buz.com/", kTemp, 4000 },
1141 { "http://buz.com/", kTemp, 50000 }, 1141 { "http://buz.com/", kTemp, 50000 },
1142 { "http://bar.com:1/", kPerm, 600000 }, 1142 { "http://bar.com:1/", kPerm, 600000 },
1143 { "http://foo.com/", kTemp, 7000000 }, 1143 { "http://foo.com/", kTemp, 7000000 },
1144 }; 1144 };
1145 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1145 RegisterClient(CreateClient(kData, arraysize(kData),
1146 QuotaClient::kFileSystem)); 1146 QuotaClient::kFileSystem));
1147 1147
1148 GetGlobalUsage(kPerm); 1148 GetGlobalUsage(kPerm);
1149 base::RunLoop().RunUntilIdle(); 1149 base::RunLoop().RunUntilIdle();
1150 EXPECT_EQ(usage(), 1 + 20 + 600000); 1150 EXPECT_EQ(usage(), 1 + 20 + 600000);
1151 EXPECT_EQ(0, unlimited_usage()); 1151 EXPECT_EQ(0, unlimited_usage());
1152 1152
1153 GetGlobalUsage(kTemp); 1153 GetGlobalUsage(kTemp);
1154 base::RunLoop().RunUntilIdle(); 1154 base::RunLoop().RunUntilIdle();
1155 EXPECT_EQ(usage(), 300 + 4000 + 50000 + 7000000); 1155 EXPECT_EQ(usage(), 300 + 4000 + 50000 + 7000000);
(...skipping 12 matching lines...) Expand all
1168 static const MockOriginData kData[] = { 1168 static const MockOriginData kData[] = {
1169 { "http://foo.com/", kPerm, 1 }, 1169 { "http://foo.com/", kPerm, 1 },
1170 { "http://foo.com:1/", kPerm, 20 }, 1170 { "http://foo.com:1/", kPerm, 20 },
1171 { "http://bar.com/", kTemp, 300 }, 1171 { "http://bar.com/", kTemp, 300 },
1172 { "https://buz.com/", kTemp, 4000 }, 1172 { "https://buz.com/", kTemp, 4000 },
1173 { "http://buz.com/", kTemp, 50000 }, 1173 { "http://buz.com/", kTemp, 50000 },
1174 { "http://bar.com:1/", kPerm, 600000 }, 1174 { "http://bar.com:1/", kPerm, 600000 },
1175 { "http://foo.com/", kTemp, 7000000 }, 1175 { "http://foo.com/", kTemp, 7000000 },
1176 }; 1176 };
1177 1177
1178 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1178 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1179 QuotaClient::kFileSystem); 1179 QuotaClient::kFileSystem);
1180 RegisterClient(client); 1180 RegisterClient(client);
1181 1181
1182 GetGlobalUsage(kPerm); 1182 GetGlobalUsage(kPerm);
1183 base::RunLoop().RunUntilIdle(); 1183 base::RunLoop().RunUntilIdle();
1184 EXPECT_EQ(usage(), 1 + 20 + 600000); 1184 EXPECT_EQ(usage(), 1 + 20 + 600000);
1185 EXPECT_EQ(0, unlimited_usage()); 1185 EXPECT_EQ(0, unlimited_usage());
1186 1186
1187 client->ModifyOriginAndNotify( 1187 client->ModifyOriginAndNotify(
1188 GURL("http://foo.com/"), kPerm, 80000000); 1188 GURL("http://foo.com/"), kPerm, 80000000);
(...skipping 28 matching lines...) Expand all
1217 EXPECT_EQ(usage(), 4000 + 50000 + 900000000); 1217 EXPECT_EQ(usage(), 4000 + 50000 + 900000000);
1218 } 1218 }
1219 1219
1220 TEST_F(QuotaManagerTest, GetUsage_WithDeleteOrigin) { 1220 TEST_F(QuotaManagerTest, GetUsage_WithDeleteOrigin) {
1221 static const MockOriginData kData[] = { 1221 static const MockOriginData kData[] = {
1222 { "http://foo.com/", kTemp, 1 }, 1222 { "http://foo.com/", kTemp, 1 },
1223 { "http://foo.com:1/", kTemp, 20 }, 1223 { "http://foo.com:1/", kTemp, 20 },
1224 { "http://foo.com/", kPerm, 300 }, 1224 { "http://foo.com/", kPerm, 300 },
1225 { "http://bar.com/", kTemp, 4000 }, 1225 { "http://bar.com/", kTemp, 4000 },
1226 }; 1226 };
1227 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1227 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1228 QuotaClient::kFileSystem); 1228 QuotaClient::kFileSystem);
1229 RegisterClient(client); 1229 RegisterClient(client);
1230 1230
1231 GetGlobalUsage(kTemp); 1231 GetGlobalUsage(kTemp);
1232 base::RunLoop().RunUntilIdle(); 1232 base::RunLoop().RunUntilIdle();
1233 int64 predelete_global_tmp = usage(); 1233 int64 predelete_global_tmp = usage();
1234 1234
1235 GetHostUsage("foo.com", kTemp); 1235 GetHostUsage("foo.com", kTemp);
1236 base::RunLoop().RunUntilIdle(); 1236 base::RunLoop().RunUntilIdle();
1237 int64 predelete_host_tmp = usage(); 1237 int64 predelete_host_tmp = usage();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 { "http://foo.com/", kPerm, 300 }, 1272 { "http://foo.com/", kPerm, 300 },
1273 { "http://bar.com/", kTemp, 4000 }, 1273 { "http://bar.com/", kTemp, 4000 },
1274 }; 1274 };
1275 static const MockOriginData kData2[] = { 1275 static const MockOriginData kData2[] = {
1276 { "http://foo.com/", kTemp, 50000 }, 1276 { "http://foo.com/", kTemp, 50000 },
1277 { "http://foo.com:1/", kTemp, 6000 }, 1277 { "http://foo.com:1/", kTemp, 6000 },
1278 { "http://foo.com/", kPerm, 700 }, 1278 { "http://foo.com/", kPerm, 700 },
1279 { "https://foo.com/", kTemp, 80 }, 1279 { "https://foo.com/", kTemp, 80 },
1280 { "http://bar.com/", kTemp, 9 }, 1280 { "http://bar.com/", kTemp, 9 },
1281 }; 1281 };
1282 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 1282 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
1283 QuotaClient::kFileSystem); 1283 QuotaClient::kFileSystem);
1284 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 1284 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
1285 QuotaClient::kDatabase); 1285 QuotaClient::kDatabase);
1286 RegisterClient(client1); 1286 RegisterClient(client1);
1287 RegisterClient(client2); 1287 RegisterClient(client2);
1288 1288
1289 GetGlobalUsage(kTemp); 1289 GetGlobalUsage(kTemp);
1290 base::RunLoop().RunUntilIdle(); 1290 base::RunLoop().RunUntilIdle();
1291 int64 predelete_global_tmp = usage(); 1291 int64 predelete_global_tmp = usage();
1292 1292
1293 GetHostUsage("foo.com", kTemp); 1293 GetHostUsage("foo.com", kTemp);
1294 base::RunLoop().RunUntilIdle(); 1294 base::RunLoop().RunUntilIdle();
1295 int64 predelete_host_tmp = usage(); 1295 int64 predelete_host_tmp = usage();
1296 1296
1297 GetHostUsage("foo.com", kPerm); 1297 GetHostUsage("foo.com", kPerm);
1298 base::RunLoop().RunUntilIdle(); 1298 base::RunLoop().RunUntilIdle();
1299 int64 predelete_host_pers = usage(); 1299 int64 predelete_host_pers = usage();
1300 1300
1301 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) 1301 for (size_t i = 0; i < arraysize(kData1); ++i)
1302 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, 1302 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown,
1303 GURL(kData1[i].origin), kData1[i].type); 1303 GURL(kData1[i].origin), kData1[i].type);
1304 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) 1304 for (size_t i = 0; i < arraysize(kData2); ++i)
1305 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, 1305 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown,
1306 GURL(kData2[i].origin), kData2[i].type); 1306 GURL(kData2[i].origin), kData2[i].type);
1307 base::RunLoop().RunUntilIdle(); 1307 base::RunLoop().RunUntilIdle();
1308 1308
1309 EvictOriginData(GURL("http://foo.com/"), kTemp); 1309 EvictOriginData(GURL("http://foo.com/"), kTemp);
1310 base::RunLoop().RunUntilIdle(); 1310 base::RunLoop().RunUntilIdle();
1311 1311
1312 DumpOriginInfoTable(); 1312 DumpOriginInfoTable();
1313 base::RunLoop().RunUntilIdle(); 1313 base::RunLoop().RunUntilIdle();
1314 1314
(...skipping 19 matching lines...) Expand all
1334 } 1334 }
1335 1335
1336 TEST_F(QuotaManagerTest, EvictOriginDataWithDeletionError) { 1336 TEST_F(QuotaManagerTest, EvictOriginDataWithDeletionError) {
1337 static const MockOriginData kData[] = { 1337 static const MockOriginData kData[] = {
1338 { "http://foo.com/", kTemp, 1 }, 1338 { "http://foo.com/", kTemp, 1 },
1339 { "http://foo.com:1/", kTemp, 20 }, 1339 { "http://foo.com:1/", kTemp, 20 },
1340 { "http://foo.com/", kPerm, 300 }, 1340 { "http://foo.com/", kPerm, 300 },
1341 { "http://bar.com/", kTemp, 4000 }, 1341 { "http://bar.com/", kTemp, 4000 },
1342 }; 1342 };
1343 static const int kNumberOfTemporaryOrigins = 3; 1343 static const int kNumberOfTemporaryOrigins = 3;
1344 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1344 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1345 QuotaClient::kFileSystem); 1345 QuotaClient::kFileSystem);
1346 RegisterClient(client); 1346 RegisterClient(client);
1347 1347
1348 GetGlobalUsage(kTemp); 1348 GetGlobalUsage(kTemp);
1349 base::RunLoop().RunUntilIdle(); 1349 base::RunLoop().RunUntilIdle();
1350 int64 predelete_global_tmp = usage(); 1350 int64 predelete_global_tmp = usage();
1351 1351
1352 GetHostUsage("foo.com", kTemp); 1352 GetHostUsage("foo.com", kTemp);
1353 base::RunLoop().RunUntilIdle(); 1353 base::RunLoop().RunUntilIdle();
1354 int64 predelete_host_tmp = usage(); 1354 int64 predelete_host_tmp = usage();
1355 1355
1356 GetHostUsage("foo.com", kPerm); 1356 GetHostUsage("foo.com", kPerm);
1357 base::RunLoop().RunUntilIdle(); 1357 base::RunLoop().RunUntilIdle();
1358 int64 predelete_host_pers = usage(); 1358 int64 predelete_host_pers = usage();
1359 1359
1360 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData); ++i) 1360 for (size_t i = 0; i < arraysize(kData); ++i)
1361 NotifyStorageAccessed(client, GURL(kData[i].origin), kData[i].type); 1361 NotifyStorageAccessed(client, GURL(kData[i].origin), kData[i].type);
1362 base::RunLoop().RunUntilIdle(); 1362 base::RunLoop().RunUntilIdle();
1363 1363
1364 client->AddOriginToErrorSet(GURL("http://foo.com/"), kTemp); 1364 client->AddOriginToErrorSet(GURL("http://foo.com/"), kTemp);
1365 1365
1366 for (int i = 0; 1366 for (int i = 0;
1367 i < QuotaManager::kThresholdOfErrorsToBeBlacklisted + 1; 1367 i < QuotaManager::kThresholdOfErrorsToBeBlacklisted + 1;
1368 ++i) { 1368 ++i) {
1369 EvictOriginData(GURL("http://foo.com/"), kTemp); 1369 EvictOriginData(GURL("http://foo.com/"), kTemp);
1370 base::RunLoop().RunUntilIdle(); 1370 base::RunLoop().RunUntilIdle();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1420 1420
1421 TEST_F(QuotaManagerTest, GetUsageAndQuotaForEviction) { 1421 TEST_F(QuotaManagerTest, GetUsageAndQuotaForEviction) {
1422 static const MockOriginData kData[] = { 1422 static const MockOriginData kData[] = {
1423 { "http://foo.com/", kTemp, 1 }, 1423 { "http://foo.com/", kTemp, 1 },
1424 { "http://foo.com:1/", kTemp, 20 }, 1424 { "http://foo.com:1/", kTemp, 20 },
1425 { "http://foo.com/", kPerm, 300 }, 1425 { "http://foo.com/", kPerm, 300 },
1426 { "http://unlimited/", kTemp, 4000 }, 1426 { "http://unlimited/", kTemp, 4000 },
1427 }; 1427 };
1428 1428
1429 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); 1429 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/"));
1430 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1430 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1431 QuotaClient::kFileSystem); 1431 QuotaClient::kFileSystem);
1432 RegisterClient(client); 1432 RegisterClient(client);
1433 1433
1434 SetTemporaryGlobalQuota(10000000); 1434 SetTemporaryGlobalQuota(10000000);
1435 base::RunLoop().RunUntilIdle(); 1435 base::RunLoop().RunUntilIdle();
1436 1436
1437 GetUsageAndQuotaForEviction(); 1437 GetUsageAndQuotaForEviction();
1438 base::RunLoop().RunUntilIdle(); 1438 base::RunLoop().RunUntilIdle();
1439 EXPECT_EQ(kQuotaStatusOk, status()); 1439 EXPECT_EQ(kQuotaStatusOk, status());
1440 EXPECT_EQ(21, limited_usage()); 1440 EXPECT_EQ(21, limited_usage());
1441 EXPECT_EQ(10000000, quota()); 1441 EXPECT_EQ(10000000, quota());
1442 EXPECT_LE(0, available_space()); 1442 EXPECT_LE(0, available_space());
1443 } 1443 }
1444 1444
1445 TEST_F(QuotaManagerTest, DeleteHostDataSimple) { 1445 TEST_F(QuotaManagerTest, DeleteHostDataSimple) {
1446 static const MockOriginData kData[] = { 1446 static const MockOriginData kData[] = {
1447 { "http://foo.com/", kTemp, 1 }, 1447 { "http://foo.com/", kTemp, 1 },
1448 }; 1448 };
1449 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1449 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1450 QuotaClient::kFileSystem); 1450 QuotaClient::kFileSystem);
1451 RegisterClient(client); 1451 RegisterClient(client);
1452 1452
1453 GetGlobalUsage(kTemp); 1453 GetGlobalUsage(kTemp);
1454 base::RunLoop().RunUntilIdle(); 1454 base::RunLoop().RunUntilIdle();
1455 const int64 predelete_global_tmp = usage(); 1455 const int64 predelete_global_tmp = usage();
1456 1456
1457 GetHostUsage("foo.com", kTemp); 1457 GetHostUsage("foo.com", kTemp);
1458 base::RunLoop().RunUntilIdle(); 1458 base::RunLoop().RunUntilIdle();
1459 int64 predelete_host_tmp = usage(); 1459 int64 predelete_host_tmp = usage();
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1502 { "http://foo.com/", kPerm, 300 }, 1502 { "http://foo.com/", kPerm, 300 },
1503 { "http://bar.com/", kTemp, 4000 }, 1503 { "http://bar.com/", kTemp, 4000 },
1504 }; 1504 };
1505 static const MockOriginData kData2[] = { 1505 static const MockOriginData kData2[] = {
1506 { "http://foo.com/", kTemp, 50000 }, 1506 { "http://foo.com/", kTemp, 50000 },
1507 { "http://foo.com:1/", kTemp, 6000 }, 1507 { "http://foo.com:1/", kTemp, 6000 },
1508 { "http://foo.com/", kPerm, 700 }, 1508 { "http://foo.com/", kPerm, 700 },
1509 { "https://foo.com/", kTemp, 80 }, 1509 { "https://foo.com/", kTemp, 80 },
1510 { "http://bar.com/", kTemp, 9 }, 1510 { "http://bar.com/", kTemp, 9 },
1511 }; 1511 };
1512 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 1512 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
1513 QuotaClient::kFileSystem); 1513 QuotaClient::kFileSystem);
1514 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 1514 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
1515 QuotaClient::kDatabase); 1515 QuotaClient::kDatabase);
1516 RegisterClient(client1); 1516 RegisterClient(client1);
1517 RegisterClient(client2); 1517 RegisterClient(client2);
1518 1518
1519 GetGlobalUsage(kTemp); 1519 GetGlobalUsage(kTemp);
1520 base::RunLoop().RunUntilIdle(); 1520 base::RunLoop().RunUntilIdle();
1521 const int64 predelete_global_tmp = usage(); 1521 const int64 predelete_global_tmp = usage();
1522 1522
1523 GetHostUsage("foo.com", kTemp); 1523 GetHostUsage("foo.com", kTemp);
1524 base::RunLoop().RunUntilIdle(); 1524 base::RunLoop().RunUntilIdle();
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1590 { "http://foo.com/", kPerm, 300 }, 1590 { "http://foo.com/", kPerm, 300 },
1591 { "http://bar.com/", kTemp, 4000 }, 1591 { "http://bar.com/", kTemp, 4000 },
1592 }; 1592 };
1593 static const MockOriginData kData2[] = { 1593 static const MockOriginData kData2[] = {
1594 { "http://foo.com/", kTemp, 50000 }, 1594 { "http://foo.com/", kTemp, 50000 },
1595 { "http://foo.com:1/", kTemp, 6000 }, 1595 { "http://foo.com:1/", kTemp, 6000 },
1596 { "http://foo.com/", kPerm, 700 }, 1596 { "http://foo.com/", kPerm, 700 },
1597 { "https://foo.com/", kTemp, 80 }, 1597 { "https://foo.com/", kTemp, 80 },
1598 { "http://bar.com/", kTemp, 9 }, 1598 { "http://bar.com/", kTemp, 9 },
1599 }; 1599 };
1600 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 1600 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
1601 QuotaClient::kFileSystem); 1601 QuotaClient::kFileSystem);
1602 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 1602 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
1603 QuotaClient::kDatabase); 1603 QuotaClient::kDatabase);
1604 RegisterClient(client1); 1604 RegisterClient(client1);
1605 RegisterClient(client2); 1605 RegisterClient(client2);
1606 1606
1607 GetGlobalUsage(kTemp); 1607 GetGlobalUsage(kTemp);
1608 base::RunLoop().RunUntilIdle(); 1608 base::RunLoop().RunUntilIdle();
1609 const int64 predelete_global_tmp = usage(); 1609 const int64 predelete_global_tmp = usage();
1610 1610
1611 GetHostUsage("foo.com", kTemp); 1611 GetHostUsage("foo.com", kTemp);
1612 base::RunLoop().RunUntilIdle(); 1612 base::RunLoop().RunUntilIdle();
1613 const int64 predelete_foo_tmp = usage(); 1613 const int64 predelete_foo_tmp = usage();
1614 1614
1615 GetHostUsage("bar.com", kTemp); 1615 GetHostUsage("bar.com", kTemp);
1616 base::RunLoop().RunUntilIdle(); 1616 base::RunLoop().RunUntilIdle();
1617 const int64 predelete_bar_tmp = usage(); 1617 const int64 predelete_bar_tmp = usage();
1618 1618
1619 GetHostUsage("foo.com", kPerm); 1619 GetHostUsage("foo.com", kPerm);
1620 base::RunLoop().RunUntilIdle(); 1620 base::RunLoop().RunUntilIdle();
1621 const int64 predelete_foo_pers = usage(); 1621 const int64 predelete_foo_pers = usage();
1622 1622
1623 GetHostUsage("bar.com", kPerm); 1623 GetHostUsage("bar.com", kPerm);
1624 base::RunLoop().RunUntilIdle(); 1624 base::RunLoop().RunUntilIdle();
1625 const int64 predelete_bar_pers = usage(); 1625 const int64 predelete_bar_pers = usage();
1626 1626
1627 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) 1627 for (size_t i = 0; i < arraysize(kData1); ++i)
1628 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, 1628 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown,
1629 GURL(kData1[i].origin), kData1[i].type); 1629 GURL(kData1[i].origin), kData1[i].type);
1630 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) 1630 for (size_t i = 0; i < arraysize(kData2); ++i)
1631 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, 1631 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown,
1632 GURL(kData2[i].origin), kData2[i].type); 1632 GURL(kData2[i].origin), kData2[i].type);
1633 base::RunLoop().RunUntilIdle(); 1633 base::RunLoop().RunUntilIdle();
1634 1634
1635 reset_status_callback_count(); 1635 reset_status_callback_count();
1636 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); 1636 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients);
1637 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); 1637 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients);
1638 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); 1638 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients);
1639 base::RunLoop().RunUntilIdle(); 1639 base::RunLoop().RunUntilIdle();
1640 1640
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 EXPECT_EQ(predelete_bar_pers, usage()); 1674 EXPECT_EQ(predelete_bar_pers, usage());
1675 } 1675 }
1676 1676
1677 TEST_F(QuotaManagerTest, GetCachedOrigins) { 1677 TEST_F(QuotaManagerTest, GetCachedOrigins) {
1678 static const MockOriginData kData[] = { 1678 static const MockOriginData kData[] = {
1679 { "http://a.com/", kTemp, 1 }, 1679 { "http://a.com/", kTemp, 1 },
1680 { "http://a.com:1/", kTemp, 20 }, 1680 { "http://a.com:1/", kTemp, 20 },
1681 { "http://b.com/", kPerm, 300 }, 1681 { "http://b.com/", kPerm, 300 },
1682 { "http://c.com/", kTemp, 4000 }, 1682 { "http://c.com/", kTemp, 4000 },
1683 }; 1683 };
1684 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1684 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1685 QuotaClient::kFileSystem); 1685 QuotaClient::kFileSystem);
1686 RegisterClient(client); 1686 RegisterClient(client);
1687 1687
1688 // TODO(kinuko): Be careful when we add cache pruner. 1688 // TODO(kinuko): Be careful when we add cache pruner.
1689 1689
1690 std::set<GURL> origins; 1690 std::set<GURL> origins;
1691 GetCachedOrigins(kTemp, &origins); 1691 GetCachedOrigins(kTemp, &origins);
1692 EXPECT_TRUE(origins.empty()); 1692 EXPECT_TRUE(origins.empty());
1693 1693
1694 // No matter how we make queries the quota manager tries to cache all 1694 // No matter how we make queries the quota manager tries to cache all
1695 // the origins at startup. 1695 // the origins at startup.
1696 GetHostUsage("a.com", kTemp); 1696 GetHostUsage("a.com", kTemp);
1697 base::RunLoop().RunUntilIdle(); 1697 base::RunLoop().RunUntilIdle();
1698 GetCachedOrigins(kTemp, &origins); 1698 GetCachedOrigins(kTemp, &origins);
1699 EXPECT_EQ(3U, origins.size()); 1699 EXPECT_EQ(3U, origins.size());
1700 1700
1701 GetHostUsage("b.com", kTemp); 1701 GetHostUsage("b.com", kTemp);
1702 base::RunLoop().RunUntilIdle(); 1702 base::RunLoop().RunUntilIdle();
1703 GetCachedOrigins(kTemp, &origins); 1703 GetCachedOrigins(kTemp, &origins);
1704 EXPECT_EQ(3U, origins.size()); 1704 EXPECT_EQ(3U, origins.size());
1705 1705
1706 GetCachedOrigins(kPerm, &origins); 1706 GetCachedOrigins(kPerm, &origins);
1707 EXPECT_TRUE(origins.empty()); 1707 EXPECT_TRUE(origins.empty());
1708 1708
1709 GetGlobalUsage(kTemp); 1709 GetGlobalUsage(kTemp);
1710 base::RunLoop().RunUntilIdle(); 1710 base::RunLoop().RunUntilIdle();
1711 GetCachedOrigins(kTemp, &origins); 1711 GetCachedOrigins(kTemp, &origins);
1712 EXPECT_EQ(3U, origins.size()); 1712 EXPECT_EQ(3U, origins.size());
1713 1713
1714 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData); ++i) { 1714 for (size_t i = 0; i < arraysize(kData); ++i) {
1715 if (kData[i].type == kTemp) 1715 if (kData[i].type == kTemp)
1716 EXPECT_TRUE(origins.find(GURL(kData[i].origin)) != origins.end()); 1716 EXPECT_TRUE(origins.find(GURL(kData[i].origin)) != origins.end());
1717 } 1717 }
1718 } 1718 }
1719 1719
1720 TEST_F(QuotaManagerTest, NotifyAndLRUOrigin) { 1720 TEST_F(QuotaManagerTest, NotifyAndLRUOrigin) {
1721 static const MockOriginData kData[] = { 1721 static const MockOriginData kData[] = {
1722 { "http://a.com/", kTemp, 0 }, 1722 { "http://a.com/", kTemp, 0 },
1723 { "http://a.com:1/", kTemp, 0 }, 1723 { "http://a.com:1/", kTemp, 0 },
1724 { "https://a.com/", kTemp, 0 }, 1724 { "https://a.com/", kTemp, 0 },
1725 { "http://b.com/", kPerm, 0 }, // persistent 1725 { "http://b.com/", kPerm, 0 }, // persistent
1726 { "http://c.com/", kTemp, 0 }, 1726 { "http://c.com/", kTemp, 0 },
1727 }; 1727 };
1728 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1728 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1729 QuotaClient::kFileSystem); 1729 QuotaClient::kFileSystem);
1730 RegisterClient(client); 1730 RegisterClient(client);
1731 1731
1732 GURL origin; 1732 GURL origin;
1733 GetLRUOrigin(kTemp); 1733 GetLRUOrigin(kTemp);
1734 base::RunLoop().RunUntilIdle(); 1734 base::RunLoop().RunUntilIdle();
1735 EXPECT_TRUE(lru_origin().is_empty()); 1735 EXPECT_TRUE(lru_origin().is_empty());
1736 1736
1737 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); 1737 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp);
1738 GetLRUOrigin(kTemp); 1738 GetLRUOrigin(kTemp);
(...skipping 19 matching lines...) Expand all
1758 } 1758 }
1759 1759
1760 TEST_F(QuotaManagerTest, GetLRUOriginWithOriginInUse) { 1760 TEST_F(QuotaManagerTest, GetLRUOriginWithOriginInUse) {
1761 static const MockOriginData kData[] = { 1761 static const MockOriginData kData[] = {
1762 { "http://a.com/", kTemp, 0 }, 1762 { "http://a.com/", kTemp, 0 },
1763 { "http://a.com:1/", kTemp, 0 }, 1763 { "http://a.com:1/", kTemp, 0 },
1764 { "https://a.com/", kTemp, 0 }, 1764 { "https://a.com/", kTemp, 0 },
1765 { "http://b.com/", kPerm, 0 }, // persistent 1765 { "http://b.com/", kPerm, 0 }, // persistent
1766 { "http://c.com/", kTemp, 0 }, 1766 { "http://c.com/", kTemp, 0 },
1767 }; 1767 };
1768 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1768 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1769 QuotaClient::kFileSystem); 1769 QuotaClient::kFileSystem);
1770 RegisterClient(client); 1770 RegisterClient(client);
1771 1771
1772 GURL origin; 1772 GURL origin;
1773 GetLRUOrigin(kTemp); 1773 GetLRUOrigin(kTemp);
1774 base::RunLoop().RunUntilIdle(); 1774 base::RunLoop().RunUntilIdle();
1775 EXPECT_TRUE(lru_origin().is_empty()); 1775 EXPECT_TRUE(lru_origin().is_empty());
1776 1776
1777 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); 1777 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp);
1778 NotifyStorageAccessed(client, GURL("http://b.com/"), kPerm); 1778 NotifyStorageAccessed(client, GURL("http://b.com/"), kPerm);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1813 } 1813 }
1814 1814
1815 TEST_F(QuotaManagerTest, GetOriginsModifiedSince) { 1815 TEST_F(QuotaManagerTest, GetOriginsModifiedSince) {
1816 static const MockOriginData kData[] = { 1816 static const MockOriginData kData[] = {
1817 { "http://a.com/", kTemp, 0 }, 1817 { "http://a.com/", kTemp, 0 },
1818 { "http://a.com:1/", kTemp, 0 }, 1818 { "http://a.com:1/", kTemp, 0 },
1819 { "https://a.com/", kTemp, 0 }, 1819 { "https://a.com/", kTemp, 0 },
1820 { "http://b.com/", kPerm, 0 }, // persistent 1820 { "http://b.com/", kPerm, 0 }, // persistent
1821 { "http://c.com/", kTemp, 0 }, 1821 { "http://c.com/", kTemp, 0 },
1822 }; 1822 };
1823 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 1823 MockStorageClient* client = CreateClient(kData, arraysize(kData),
1824 QuotaClient::kFileSystem); 1824 QuotaClient::kFileSystem);
1825 RegisterClient(client); 1825 RegisterClient(client);
1826 1826
1827 GetOriginsModifiedSince(kTemp, base::Time()); 1827 GetOriginsModifiedSince(kTemp, base::Time());
1828 base::RunLoop().RunUntilIdle(); 1828 base::RunLoop().RunUntilIdle();
1829 EXPECT_TRUE(modified_origins().empty()); 1829 EXPECT_TRUE(modified_origins().empty());
1830 EXPECT_EQ(modified_origins_type(), kTemp); 1830 EXPECT_EQ(modified_origins_type(), kTemp);
1831 1831
1832 base::Time time1 = client->IncrementMockTime(); 1832 base::Time time1 = client->IncrementMockTime();
1833 client->ModifyOriginAndNotify(GURL("http://a.com/"), kTemp, 10); 1833 client->ModifyOriginAndNotify(GURL("http://a.com/"), kTemp, 10);
1834 client->ModifyOriginAndNotify(GURL("http://a.com:1/"), kTemp, 10); 1834 client->ModifyOriginAndNotify(GURL("http://a.com:1/"), kTemp, 10);
1835 client->ModifyOriginAndNotify(GURL("http://b.com/"), kPerm, 10); 1835 client->ModifyOriginAndNotify(GURL("http://b.com/"), kPerm, 10);
1836 base::Time time2 = client->IncrementMockTime(); 1836 base::Time time2 = client->IncrementMockTime();
1837 client->ModifyOriginAndNotify(GURL("https://a.com/"), kTemp, 10); 1837 client->ModifyOriginAndNotify(GURL("https://a.com/"), kTemp, 10);
1838 client->ModifyOriginAndNotify(GURL("http://c.com/"), kTemp, 10); 1838 client->ModifyOriginAndNotify(GURL("http://c.com/"), kTemp, 10);
1839 base::Time time3 = client->IncrementMockTime(); 1839 base::Time time3 = client->IncrementMockTime();
1840 1840
1841 GetOriginsModifiedSince(kTemp, time1); 1841 GetOriginsModifiedSince(kTemp, time1);
1842 base::RunLoop().RunUntilIdle(); 1842 base::RunLoop().RunUntilIdle();
1843 EXPECT_EQ(4U, modified_origins().size()); 1843 EXPECT_EQ(4U, modified_origins().size());
1844 EXPECT_EQ(modified_origins_type(), kTemp); 1844 EXPECT_EQ(modified_origins_type(), kTemp);
1845 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData); ++i) { 1845 for (size_t i = 0; i < arraysize(kData); ++i) {
1846 if (kData[i].type == kTemp) 1846 if (kData[i].type == kTemp)
1847 EXPECT_EQ(1U, modified_origins().count(GURL(kData[i].origin))); 1847 EXPECT_EQ(1U, modified_origins().count(GURL(kData[i].origin)));
1848 } 1848 }
1849 1849
1850 GetOriginsModifiedSince(kTemp, time2); 1850 GetOriginsModifiedSince(kTemp, time2);
1851 base::RunLoop().RunUntilIdle(); 1851 base::RunLoop().RunUntilIdle();
1852 EXPECT_EQ(2U, modified_origins().size()); 1852 EXPECT_EQ(2U, modified_origins().size());
1853 1853
1854 GetOriginsModifiedSince(kTemp, time3); 1854 GetOriginsModifiedSince(kTemp, time3);
1855 base::RunLoop().RunUntilIdle(); 1855 base::RunLoop().RunUntilIdle();
(...skipping 16 matching lines...) Expand all
1872 base::RunLoop().RunUntilIdle(); 1872 base::RunLoop().RunUntilIdle();
1873 1873
1874 DumpQuotaTable(); 1874 DumpQuotaTable();
1875 base::RunLoop().RunUntilIdle(); 1875 base::RunLoop().RunUntilIdle();
1876 1876
1877 const QuotaTableEntry kEntries[] = { 1877 const QuotaTableEntry kEntries[] = {
1878 QuotaTableEntry("example1.com", kPerm, 1), 1878 QuotaTableEntry("example1.com", kPerm, 1),
1879 QuotaTableEntry("example2.com", kPerm, 20), 1879 QuotaTableEntry("example2.com", kPerm, 20),
1880 QuotaTableEntry("example3.com", kPerm, 300), 1880 QuotaTableEntry("example3.com", kPerm, 300),
1881 }; 1881 };
1882 std::set<QuotaTableEntry> entries 1882 std::set<QuotaTableEntry> entries(kEntries, kEntries + arraysize(kEntries));
1883 (kEntries, kEntries + ARRAYSIZE_UNSAFE(kEntries));
1884 1883
1885 typedef QuotaTableEntries::const_iterator iterator; 1884 typedef QuotaTableEntries::const_iterator iterator;
1886 for (iterator itr(quota_entries().begin()), end(quota_entries().end()); 1885 for (iterator itr(quota_entries().begin()), end(quota_entries().end());
1887 itr != end; ++itr) { 1886 itr != end; ++itr) {
1888 SCOPED_TRACE(testing::Message() 1887 SCOPED_TRACE(testing::Message()
1889 << "host = " << itr->host << ", " 1888 << "host = " << itr->host << ", "
1890 << "quota = " << itr->quota); 1889 << "quota = " << itr->quota);
1891 EXPECT_EQ(1u, entries.erase(*itr)); 1890 EXPECT_EQ(1u, entries.erase(*itr));
1892 } 1891 }
1893 EXPECT_TRUE(entries.empty()); 1892 EXPECT_TRUE(entries.empty());
(...skipping 18 matching lines...) Expand all
1912 1911
1913 DumpOriginInfoTable(); 1912 DumpOriginInfoTable();
1914 base::RunLoop().RunUntilIdle(); 1913 base::RunLoop().RunUntilIdle();
1915 1914
1916 typedef std::pair<GURL, StorageType> TypedOrigin; 1915 typedef std::pair<GURL, StorageType> TypedOrigin;
1917 typedef std::pair<TypedOrigin, int> Entry; 1916 typedef std::pair<TypedOrigin, int> Entry;
1918 const Entry kEntries[] = { 1917 const Entry kEntries[] = {
1919 make_pair(make_pair(GURL("http://example.com/"), kTemp), 1), 1918 make_pair(make_pair(GURL("http://example.com/"), kTemp), 1),
1920 make_pair(make_pair(GURL("http://example.com/"), kPerm), 2), 1919 make_pair(make_pair(GURL("http://example.com/"), kPerm), 2),
1921 }; 1920 };
1922 std::set<Entry> entries 1921 std::set<Entry> entries(kEntries, kEntries + arraysize(kEntries));
1923 (kEntries, kEntries + ARRAYSIZE_UNSAFE(kEntries));
1924 1922
1925 typedef OriginInfoTableEntries::const_iterator iterator; 1923 typedef OriginInfoTableEntries::const_iterator iterator;
1926 for (iterator itr(origin_info_entries().begin()), 1924 for (iterator itr(origin_info_entries().begin()),
1927 end(origin_info_entries().end()); 1925 end(origin_info_entries().end());
1928 itr != end; ++itr) { 1926 itr != end; ++itr) {
1929 SCOPED_TRACE(testing::Message() 1927 SCOPED_TRACE(testing::Message()
1930 << "host = " << itr->origin << ", " 1928 << "host = " << itr->origin << ", "
1931 << "type = " << itr->type << ", " 1929 << "type = " << itr->type << ", "
1932 << "used_count = " << itr->used_count); 1930 << "used_count = " << itr->used_count);
1933 EXPECT_EQ(1u, entries.erase( 1931 EXPECT_EQ(1u, entries.erase(
(...skipping 20 matching lines...) Expand all
1954 }; 1952 };
1955 static const MockOriginData kData2[] = { 1953 static const MockOriginData kData2[] = {
1956 { "http://foo.com/", kTemp, 2 }, 1954 { "http://foo.com/", kTemp, 2 },
1957 }; 1955 };
1958 static const MockOriginData kData3[] = { 1956 static const MockOriginData kData3[] = {
1959 { "http://foo.com/", kTemp, 4 }, 1957 { "http://foo.com/", kTemp, 4 },
1960 }; 1958 };
1961 static const MockOriginData kData4[] = { 1959 static const MockOriginData kData4[] = {
1962 { "http://foo.com/", kTemp, 8 }, 1960 { "http://foo.com/", kTemp, 8 },
1963 }; 1961 };
1964 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 1962 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
1965 QuotaClient::kFileSystem); 1963 QuotaClient::kFileSystem);
1966 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 1964 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
1967 QuotaClient::kAppcache); 1965 QuotaClient::kAppcache);
1968 MockStorageClient* client3 = CreateClient(kData3, ARRAYSIZE_UNSAFE(kData3), 1966 MockStorageClient* client3 = CreateClient(kData3, arraysize(kData3),
1969 QuotaClient::kDatabase); 1967 QuotaClient::kDatabase);
1970 MockStorageClient* client4 = CreateClient(kData4, ARRAYSIZE_UNSAFE(kData4), 1968 MockStorageClient* client4 = CreateClient(kData4, arraysize(kData4),
1971 QuotaClient::kIndexedDatabase); 1969 QuotaClient::kIndexedDatabase);
1972 RegisterClient(client1); 1970 RegisterClient(client1);
1973 RegisterClient(client2); 1971 RegisterClient(client2);
1974 RegisterClient(client3); 1972 RegisterClient(client3);
1975 RegisterClient(client4); 1973 RegisterClient(client4);
1976 1974
1977 GetHostUsage("foo.com", kTemp); 1975 GetHostUsage("foo.com", kTemp);
1978 base::RunLoop().RunUntilIdle(); 1976 base::RunLoop().RunUntilIdle();
1979 const int64 predelete_foo_tmp = usage(); 1977 const int64 predelete_foo_tmp = usage();
1980 1978
(...skipping 29 matching lines...) Expand all
2010 }; 2008 };
2011 static const MockOriginData kData2[] = { 2009 static const MockOriginData kData2[] = {
2012 { "http://foo.com:2222/", kTemp, 2 }, 2010 { "http://foo.com:2222/", kTemp, 2 },
2013 }; 2011 };
2014 static const MockOriginData kData3[] = { 2012 static const MockOriginData kData3[] = {
2015 { "http://foo.com:3333/", kTemp, 4 }, 2013 { "http://foo.com:3333/", kTemp, 4 },
2016 }; 2014 };
2017 static const MockOriginData kData4[] = { 2015 static const MockOriginData kData4[] = {
2018 { "http://foo.com:4444/", kTemp, 8 }, 2016 { "http://foo.com:4444/", kTemp, 8 },
2019 }; 2017 };
2020 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 2018 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
2021 QuotaClient::kFileSystem); 2019 QuotaClient::kFileSystem);
2022 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 2020 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
2023 QuotaClient::kAppcache); 2021 QuotaClient::kAppcache);
2024 MockStorageClient* client3 = CreateClient(kData3, ARRAYSIZE_UNSAFE(kData3), 2022 MockStorageClient* client3 = CreateClient(kData3, arraysize(kData3),
2025 QuotaClient::kDatabase); 2023 QuotaClient::kDatabase);
2026 MockStorageClient* client4 = CreateClient(kData4, ARRAYSIZE_UNSAFE(kData4), 2024 MockStorageClient* client4 = CreateClient(kData4, arraysize(kData4),
2027 QuotaClient::kIndexedDatabase); 2025 QuotaClient::kIndexedDatabase);
2028 RegisterClient(client1); 2026 RegisterClient(client1);
2029 RegisterClient(client2); 2027 RegisterClient(client2);
2030 RegisterClient(client3); 2028 RegisterClient(client3);
2031 RegisterClient(client4); 2029 RegisterClient(client4);
2032 2030
2033 GetHostUsage("foo.com", kTemp); 2031 GetHostUsage("foo.com", kTemp);
2034 base::RunLoop().RunUntilIdle(); 2032 base::RunLoop().RunUntilIdle();
2035 const int64 predelete_foo_tmp = usage(); 2033 const int64 predelete_foo_tmp = usage();
2036 2034
(...skipping 28 matching lines...) Expand all
2065 }; 2063 };
2066 static const MockOriginData kData2[] = { 2064 static const MockOriginData kData2[] = {
2067 { "http://foo.com/", kTemp, 2 }, 2065 { "http://foo.com/", kTemp, 2 },
2068 }; 2066 };
2069 static const MockOriginData kData3[] = { 2067 static const MockOriginData kData3[] = {
2070 { "http://foo.com/", kTemp, 4 }, 2068 { "http://foo.com/", kTemp, 4 },
2071 }; 2069 };
2072 static const MockOriginData kData4[] = { 2070 static const MockOriginData kData4[] = {
2073 { "http://foo.com/", kTemp, 8 }, 2071 { "http://foo.com/", kTemp, 8 },
2074 }; 2072 };
2075 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 2073 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
2076 QuotaClient::kFileSystem); 2074 QuotaClient::kFileSystem);
2077 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 2075 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
2078 QuotaClient::kAppcache); 2076 QuotaClient::kAppcache);
2079 MockStorageClient* client3 = CreateClient(kData3, ARRAYSIZE_UNSAFE(kData3), 2077 MockStorageClient* client3 = CreateClient(kData3, arraysize(kData3),
2080 QuotaClient::kDatabase); 2078 QuotaClient::kDatabase);
2081 MockStorageClient* client4 = CreateClient(kData4, ARRAYSIZE_UNSAFE(kData4), 2079 MockStorageClient* client4 = CreateClient(kData4, arraysize(kData4),
2082 QuotaClient::kIndexedDatabase); 2080 QuotaClient::kIndexedDatabase);
2083 RegisterClient(client1); 2081 RegisterClient(client1);
2084 RegisterClient(client2); 2082 RegisterClient(client2);
2085 RegisterClient(client3); 2083 RegisterClient(client3);
2086 RegisterClient(client4); 2084 RegisterClient(client4);
2087 2085
2088 GetHostUsage("foo.com", kTemp); 2086 GetHostUsage("foo.com", kTemp);
2089 base::RunLoop().RunUntilIdle(); 2087 base::RunLoop().RunUntilIdle();
2090 const int64 predelete_foo_tmp = usage(); 2088 const int64 predelete_foo_tmp = usage();
2091 2089
(...skipping 18 matching lines...) Expand all
2110 }; 2108 };
2111 static const MockOriginData kData2[] = { 2109 static const MockOriginData kData2[] = {
2112 { "http://foo.com:2222/", kTemp, 2 }, 2110 { "http://foo.com:2222/", kTemp, 2 },
2113 }; 2111 };
2114 static const MockOriginData kData3[] = { 2112 static const MockOriginData kData3[] = {
2115 { "http://foo.com:3333/", kTemp, 4 }, 2113 { "http://foo.com:3333/", kTemp, 4 },
2116 }; 2114 };
2117 static const MockOriginData kData4[] = { 2115 static const MockOriginData kData4[] = {
2118 { "http://foo.com:4444/", kTemp, 8 }, 2116 { "http://foo.com:4444/", kTemp, 8 },
2119 }; 2117 };
2120 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), 2118 MockStorageClient* client1 = CreateClient(kData1, arraysize(kData1),
2121 QuotaClient::kFileSystem); 2119 QuotaClient::kFileSystem);
2122 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), 2120 MockStorageClient* client2 = CreateClient(kData2, arraysize(kData2),
2123 QuotaClient::kAppcache); 2121 QuotaClient::kAppcache);
2124 MockStorageClient* client3 = CreateClient(kData3, ARRAYSIZE_UNSAFE(kData3), 2122 MockStorageClient* client3 = CreateClient(kData3, arraysize(kData3),
2125 QuotaClient::kDatabase); 2123 QuotaClient::kDatabase);
2126 MockStorageClient* client4 = CreateClient(kData4, ARRAYSIZE_UNSAFE(kData4), 2124 MockStorageClient* client4 = CreateClient(kData4, arraysize(kData4),
2127 QuotaClient::kIndexedDatabase); 2125 QuotaClient::kIndexedDatabase);
2128 RegisterClient(client1); 2126 RegisterClient(client1);
2129 RegisterClient(client2); 2127 RegisterClient(client2);
2130 RegisterClient(client3); 2128 RegisterClient(client3);
2131 RegisterClient(client4); 2129 RegisterClient(client4);
2132 2130
2133 GetHostUsage("foo.com", kTemp); 2131 GetHostUsage("foo.com", kTemp);
2134 base::RunLoop().RunUntilIdle(); 2132 base::RunLoop().RunUntilIdle();
2135 const int64 predelete_foo_tmp = usage(); 2133 const int64 predelete_foo_tmp = usage();
2136 2134
(...skipping 12 matching lines...) Expand all
2149 EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage()); 2147 EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage());
2150 } 2148 }
2151 2149
2152 TEST_F(QuotaManagerTest, GetUsageAndQuota_Incognito) { 2150 TEST_F(QuotaManagerTest, GetUsageAndQuota_Incognito) {
2153 ResetQuotaManager(true); 2151 ResetQuotaManager(true);
2154 2152
2155 static const MockOriginData kData[] = { 2153 static const MockOriginData kData[] = {
2156 { "http://foo.com/", kTemp, 10 }, 2154 { "http://foo.com/", kTemp, 10 },
2157 { "http://foo.com/", kPerm, 80 }, 2155 { "http://foo.com/", kPerm, 80 },
2158 }; 2156 };
2159 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), 2157 RegisterClient(CreateClient(kData, arraysize(kData),
2160 QuotaClient::kFileSystem)); 2158 QuotaClient::kFileSystem));
2161 2159
2162 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm); 2160 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kPerm);
2163 base::RunLoop().RunUntilIdle(); 2161 base::RunLoop().RunUntilIdle();
2164 EXPECT_EQ(kQuotaStatusOk, status()); 2162 EXPECT_EQ(kQuotaStatusOk, status());
2165 EXPECT_EQ(80, usage()); 2163 EXPECT_EQ(80, usage());
2166 EXPECT_EQ(0, quota()); 2164 EXPECT_EQ(0, quota());
2167 2165
2168 SetTemporaryGlobalQuota(100); 2166 SetTemporaryGlobalQuota(100);
2169 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 2167 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
(...skipping 11 matching lines...) Expand all
2181 EXPECT_EQ(QuotaManager::kIncognitoDefaultQuotaLimit, quota()); 2179 EXPECT_EQ(QuotaManager::kIncognitoDefaultQuotaLimit, quota());
2182 2180
2183 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp); 2181 GetUsageAndQuotaForWebApps(GURL("http://foo.com/"), kTemp);
2184 base::RunLoop().RunUntilIdle(); 2182 base::RunLoop().RunUntilIdle();
2185 EXPECT_EQ(kQuotaStatusOk, status()); 2183 EXPECT_EQ(kQuotaStatusOk, status());
2186 EXPECT_EQ(10, usage()); 2184 EXPECT_EQ(10, usage());
2187 EXPECT_EQ(QuotaManager::kIncognitoDefaultQuotaLimit, quota()); 2185 EXPECT_EQ(QuotaManager::kIncognitoDefaultQuotaLimit, quota());
2188 } 2186 }
2189 2187
2190 } // namespace content 2188 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/quota/quota_database_unittest.cc ('k') | content/browser/renderer_host/media/media_stream_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698