OLD | NEW |
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 <set> | 5 #include <set> |
6 #include <sstream> | 6 #include <sstream> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 } | 60 } |
61 | 61 |
62 void TearDown() { | 62 void TearDown() { |
63 // Make sure the quota manager cleans up correctly. | 63 // Make sure the quota manager cleans up correctly. |
64 quota_manager_ = NULL; | 64 quota_manager_ = NULL; |
65 MessageLoop::current()->RunAllPending(); | 65 MessageLoop::current()->RunAllPending(); |
66 } | 66 } |
67 | 67 |
68 protected: | 68 protected: |
69 MockStorageClient* CreateClient( | 69 MockStorageClient* CreateClient( |
70 const MockOriginData* mock_data, size_t mock_data_size) { | |
71 return new MockStorageClient(quota_manager_->proxy(), | |
72 mock_data, mock_data_size); | |
73 } | |
74 MockStorageClient* CreateClient( | |
75 const MockOriginData* mock_data, | 70 const MockOriginData* mock_data, |
76 size_t mock_data_size, | 71 size_t mock_data_size, |
77 QuotaClient::ID id) { | 72 QuotaClient::ID id) { |
78 return new MockStorageClient(quota_manager_->proxy(), | 73 return new MockStorageClient(quota_manager_->proxy(), |
79 mock_data, id, mock_data_size); | 74 mock_data, id, mock_data_size); |
80 } | 75 } |
81 | 76 |
82 void RegisterClient(MockStorageClient* client) { | 77 void RegisterClient(MockStorageClient* client) { |
83 quota_manager_->proxy()->RegisterClient(client); | 78 quota_manager_->proxy()->RegisterClient(client); |
84 } | 79 } |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 { "http://foo.com:8080/", kTemp, 15 }, | 433 { "http://foo.com:8080/", kTemp, 15 }, |
439 { "http://bar.com/", kTemp, 20 }, | 434 { "http://bar.com/", kTemp, 20 }, |
440 { "http://bar.com/", kPerm, 50 }, | 435 { "http://bar.com/", kPerm, 50 }, |
441 }; | 436 }; |
442 static const MockOriginData kData2[] = { | 437 static const MockOriginData kData2[] = { |
443 { "https://foo.com/", kTemp, 30 }, | 438 { "https://foo.com/", kTemp, 30 }, |
444 { "https://foo.com:8081/", kTemp, 35 }, | 439 { "https://foo.com:8081/", kTemp, 35 }, |
445 { "http://bar.com/", kPerm, 40 }, | 440 { "http://bar.com/", kPerm, 40 }, |
446 { "http://example.com/", kPerm, 40 }, | 441 { "http://example.com/", kPerm, 40 }, |
447 }; | 442 }; |
448 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1))); | 443 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), |
449 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2))); | 444 QuotaClient::kFileSystem)); |
| 445 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), |
| 446 QuotaClient::kDatabase)); |
450 | 447 |
451 GetUsageInfo(); | 448 GetUsageInfo(); |
452 MessageLoop::current()->RunAllPending(); | 449 MessageLoop::current()->RunAllPending(); |
453 | 450 |
454 EXPECT_EQ(4U, usage_info().size()); | 451 EXPECT_EQ(4U, usage_info().size()); |
455 for (size_t i = 0; i < usage_info().size(); ++i) { | 452 for (size_t i = 0; i < usage_info().size(); ++i) { |
456 const UsageInfo& info = usage_info()[i]; | 453 const UsageInfo& info = usage_info()[i]; |
457 if (info.host == "foo.com" && info.type == kTemp) { | 454 if (info.host == "foo.com" && info.type == kTemp) { |
458 EXPECT_EQ(10 + 15 + 30 + 35, info.usage); | 455 EXPECT_EQ(10 + 15 + 30 + 35, info.usage); |
459 } else if (info.host == "bar.com" && info.type == kTemp) { | 456 } else if (info.host == "bar.com" && info.type == kTemp) { |
460 EXPECT_EQ(20, info.usage); | 457 EXPECT_EQ(20, info.usage); |
461 } else if (info.host == "bar.com" && info.type == kPerm) { | 458 } else if (info.host == "bar.com" && info.type == kPerm) { |
462 EXPECT_EQ(50 + 40, info.usage); | 459 EXPECT_EQ(50 + 40, info.usage); |
463 } else if (info.host == "example.com" && info.type == kPerm) { | 460 } else if (info.host == "example.com" && info.type == kPerm) { |
464 EXPECT_EQ(40, info.usage); | 461 EXPECT_EQ(40, info.usage); |
465 } else { | 462 } else { |
466 ADD_FAILURE() | 463 ADD_FAILURE() |
467 << "Unexpected host, type: " << info.host << ", " << info.type; | 464 << "Unexpected host, type: " << info.host << ", " << info.type; |
468 } | 465 } |
469 } | 466 } |
470 } | 467 } |
471 | 468 |
472 TEST_F(QuotaManagerTest, GetUsageAndQuota_Simple) { | 469 TEST_F(QuotaManagerTest, GetUsageAndQuota_Simple) { |
473 static const MockOriginData kData[] = { | 470 static const MockOriginData kData[] = { |
474 { "http://foo.com/", kTemp, 10 }, | 471 { "http://foo.com/", kTemp, 10 }, |
475 { "http://foo.com/", kPerm, 80 }, | 472 { "http://foo.com/", kPerm, 80 }, |
476 }; | 473 }; |
477 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 474 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 475 QuotaClient::kFileSystem)); |
478 | 476 |
479 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 477 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
480 MessageLoop::current()->RunAllPending(); | 478 MessageLoop::current()->RunAllPending(); |
481 EXPECT_EQ(kQuotaStatusOk, status()); | 479 EXPECT_EQ(kQuotaStatusOk, status()); |
482 EXPECT_EQ(80, usage()); | 480 EXPECT_EQ(80, usage()); |
483 EXPECT_EQ(0, quota()); | 481 EXPECT_EQ(0, quota()); |
484 | 482 |
485 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 483 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
486 MessageLoop::current()->RunAllPending(); | 484 MessageLoop::current()->RunAllPending(); |
487 EXPECT_EQ(kQuotaStatusOk, status()); | 485 EXPECT_EQ(kQuotaStatusOk, status()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 EXPECT_EQ(0, usage()); | 518 EXPECT_EQ(0, usage()); |
521 EXPECT_EQ(0, unlimited_usage()); | 519 EXPECT_EQ(0, unlimited_usage()); |
522 | 520 |
523 GetGlobalUsage(kPerm); | 521 GetGlobalUsage(kPerm); |
524 MessageLoop::current()->RunAllPending(); | 522 MessageLoop::current()->RunAllPending(); |
525 EXPECT_EQ(0, usage()); | 523 EXPECT_EQ(0, usage()); |
526 EXPECT_EQ(0, unlimited_usage()); | 524 EXPECT_EQ(0, unlimited_usage()); |
527 } | 525 } |
528 | 526 |
529 TEST_F(QuotaManagerTest, GetUsage_EmptyClient) { | 527 TEST_F(QuotaManagerTest, GetUsage_EmptyClient) { |
530 RegisterClient(CreateClient(NULL, 0)); | 528 RegisterClient(CreateClient(NULL, 0, QuotaClient::kFileSystem)); |
531 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 529 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
532 MessageLoop::current()->RunAllPending(); | 530 MessageLoop::current()->RunAllPending(); |
533 EXPECT_EQ(kQuotaStatusOk, status()); | 531 EXPECT_EQ(kQuotaStatusOk, status()); |
534 EXPECT_EQ(0, usage()); | 532 EXPECT_EQ(0, usage()); |
535 | 533 |
536 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 534 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
537 MessageLoop::current()->RunAllPending(); | 535 MessageLoop::current()->RunAllPending(); |
538 EXPECT_EQ(kQuotaStatusOk, status()); | 536 EXPECT_EQ(kQuotaStatusOk, status()); |
539 EXPECT_EQ(0, usage()); | 537 EXPECT_EQ(0, usage()); |
540 | 538 |
(...skipping 18 matching lines...) Expand all Loading... |
559 | 557 |
560 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_MultiOrigins) { | 558 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_MultiOrigins) { |
561 static const MockOriginData kData[] = { | 559 static const MockOriginData kData[] = { |
562 { "http://foo.com/", kTemp, 10 }, | 560 { "http://foo.com/", kTemp, 10 }, |
563 { "http://foo.com:8080/", kTemp, 20 }, | 561 { "http://foo.com:8080/", kTemp, 20 }, |
564 { "http://bar.com/", kTemp, 5 }, | 562 { "http://bar.com/", kTemp, 5 }, |
565 { "https://bar.com/", kTemp, 7 }, | 563 { "https://bar.com/", kTemp, 7 }, |
566 { "http://baz.com/", kTemp, 30 }, | 564 { "http://baz.com/", kTemp, 30 }, |
567 { "http://foo.com/", kPerm, 40 }, | 565 { "http://foo.com/", kPerm, 40 }, |
568 }; | 566 }; |
569 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 567 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 568 QuotaClient::kFileSystem)); |
570 | 569 |
571 // This time explicitly sets a temporary global quota. | 570 // This time explicitly sets a temporary global quota. |
572 SetTemporaryGlobalQuota(100); | 571 SetTemporaryGlobalQuota(100); |
573 MessageLoop::current()->RunAllPending(); | 572 MessageLoop::current()->RunAllPending(); |
574 EXPECT_EQ(kTemp, type()); | 573 EXPECT_EQ(kTemp, type()); |
575 EXPECT_EQ(kQuotaStatusOk, status()); | 574 EXPECT_EQ(kQuotaStatusOk, status()); |
576 EXPECT_EQ(100, quota()); | 575 EXPECT_EQ(100, quota()); |
577 | 576 |
578 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 577 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
579 MessageLoop::current()->RunAllPending(); | 578 MessageLoop::current()->RunAllPending(); |
(...skipping 19 matching lines...) Expand all Loading... |
599 { "http://bar.com/", kTemp, 20 }, | 598 { "http://bar.com/", kTemp, 20 }, |
600 { "http://bar.com/", kPerm, 50 }, | 599 { "http://bar.com/", kPerm, 50 }, |
601 { "http://unlimited/", kPerm, 1 }, | 600 { "http://unlimited/", kPerm, 1 }, |
602 }; | 601 }; |
603 static const MockOriginData kData2[] = { | 602 static const MockOriginData kData2[] = { |
604 { "https://foo.com/", kTemp, 30 }, | 603 { "https://foo.com/", kTemp, 30 }, |
605 { "http://example.com/", kPerm, 40 }, | 604 { "http://example.com/", kPerm, 40 }, |
606 { "http://unlimited/", kTemp, 1 }, | 605 { "http://unlimited/", kTemp, 1 }, |
607 }; | 606 }; |
608 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); | 607 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); |
609 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1))); | 608 RegisterClient(CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), |
610 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2))); | 609 QuotaClient::kFileSystem)); |
| 610 RegisterClient(CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), |
| 611 QuotaClient::kDatabase)); |
611 | 612 |
612 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 613 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
613 MessageLoop::current()->RunAllPending(); | 614 MessageLoop::current()->RunAllPending(); |
614 EXPECT_EQ(kQuotaStatusOk, status()); | 615 EXPECT_EQ(kQuotaStatusOk, status()); |
615 EXPECT_EQ(10 + 30, usage()); | 616 EXPECT_EQ(10 + 30, usage()); |
616 | 617 |
617 GetUsageAndQuota(GURL("http://bar.com/"), kPerm); | 618 GetUsageAndQuota(GURL("http://bar.com/"), kPerm); |
618 MessageLoop::current()->RunAllPending(); | 619 MessageLoop::current()->RunAllPending(); |
619 EXPECT_EQ(kQuotaStatusOk, status()); | 620 EXPECT_EQ(kQuotaStatusOk, status()); |
620 EXPECT_EQ(50, usage()); | 621 EXPECT_EQ(50, usage()); |
(...skipping 21 matching lines...) Expand all Loading... |
642 EXPECT_EQ(kQuotaStatusOk, status()); | 643 EXPECT_EQ(kQuotaStatusOk, status()); |
643 EXPECT_EQ(40 + 50 + 1, usage()); | 644 EXPECT_EQ(40 + 50 + 1, usage()); |
644 EXPECT_EQ(1, unlimited_usage()); | 645 EXPECT_EQ(1, unlimited_usage()); |
645 } | 646 } |
646 | 647 |
647 void QuotaManagerTest::GetUsage_WithModifyTestBody(const StorageType type) { | 648 void QuotaManagerTest::GetUsage_WithModifyTestBody(const StorageType type) { |
648 const MockOriginData data[] = { | 649 const MockOriginData data[] = { |
649 { "http://foo.com/", type, 10 }, | 650 { "http://foo.com/", type, 10 }, |
650 { "http://foo.com:1/", type, 20 }, | 651 { "http://foo.com:1/", type, 20 }, |
651 }; | 652 }; |
652 MockStorageClient* client = CreateClient(data, ARRAYSIZE_UNSAFE(data)); | 653 MockStorageClient* client = CreateClient(data, ARRAYSIZE_UNSAFE(data), |
| 654 QuotaClient::kFileSystem); |
653 RegisterClient(client); | 655 RegisterClient(client); |
654 | 656 |
655 GetUsageAndQuota(GURL("http://foo.com/"), type); | 657 GetUsageAndQuota(GURL("http://foo.com/"), type); |
656 MessageLoop::current()->RunAllPending(); | 658 MessageLoop::current()->RunAllPending(); |
657 EXPECT_EQ(kQuotaStatusOk, status()); | 659 EXPECT_EQ(kQuotaStatusOk, status()); |
658 EXPECT_EQ(10 + 20, usage()); | 660 EXPECT_EQ(10 + 20, usage()); |
659 | 661 |
660 client->ModifyOriginAndNotify(GURL("http://foo.com/"), type, 30); | 662 client->ModifyOriginAndNotify(GURL("http://foo.com/"), type, 30); |
661 client->ModifyOriginAndNotify(GURL("http://foo.com:1/"), type, -5); | 663 client->ModifyOriginAndNotify(GURL("http://foo.com:1/"), type, -5); |
662 client->AddOriginAndNotify(GURL("https://foo.com/"), type, 1); | 664 client->AddOriginAndNotify(GURL("https://foo.com/"), type, 1); |
(...skipping 20 matching lines...) Expand all Loading... |
683 GetUsage_WithModifyTestBody(kTemp); | 685 GetUsage_WithModifyTestBody(kTemp); |
684 } | 686 } |
685 | 687 |
686 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_WithAdditionalTasks) { | 688 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_WithAdditionalTasks) { |
687 static const MockOriginData kData[] = { | 689 static const MockOriginData kData[] = { |
688 { "http://foo.com/", kTemp, 10 }, | 690 { "http://foo.com/", kTemp, 10 }, |
689 { "http://foo.com:8080/", kTemp, 20 }, | 691 { "http://foo.com:8080/", kTemp, 20 }, |
690 { "http://bar.com/", kTemp, 13 }, | 692 { "http://bar.com/", kTemp, 13 }, |
691 { "http://foo.com/", kPerm, 40 }, | 693 { "http://foo.com/", kPerm, 40 }, |
692 }; | 694 }; |
693 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 695 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 696 QuotaClient::kFileSystem)); |
694 SetTemporaryGlobalQuota(100); | 697 SetTemporaryGlobalQuota(100); |
695 MessageLoop::current()->RunAllPending(); | 698 MessageLoop::current()->RunAllPending(); |
696 | 699 |
697 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; | 700 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; |
698 | 701 |
699 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 702 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
700 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 703 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
701 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 704 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
702 MessageLoop::current()->RunAllPending(); | 705 MessageLoop::current()->RunAllPending(); |
703 EXPECT_EQ(kQuotaStatusOk, status()); | 706 EXPECT_EQ(kQuotaStatusOk, status()); |
(...skipping 13 matching lines...) Expand all Loading... |
717 EXPECT_EQ(2, additional_callback_count()); | 720 EXPECT_EQ(2, additional_callback_count()); |
718 } | 721 } |
719 | 722 |
720 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_NukeManager) { | 723 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_NukeManager) { |
721 static const MockOriginData kData[] = { | 724 static const MockOriginData kData[] = { |
722 { "http://foo.com/", kTemp, 10 }, | 725 { "http://foo.com/", kTemp, 10 }, |
723 { "http://foo.com:8080/", kTemp, 20 }, | 726 { "http://foo.com:8080/", kTemp, 20 }, |
724 { "http://bar.com/", kTemp, 13 }, | 727 { "http://bar.com/", kTemp, 13 }, |
725 { "http://foo.com/", kPerm, 40 }, | 728 { "http://foo.com/", kPerm, 40 }, |
726 }; | 729 }; |
727 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 730 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 731 QuotaClient::kFileSystem)); |
728 SetTemporaryGlobalQuota(100); | 732 SetTemporaryGlobalQuota(100); |
729 MessageLoop::current()->RunAllPending(); | 733 MessageLoop::current()->RunAllPending(); |
730 | 734 |
731 set_additional_callback_count(0); | 735 set_additional_callback_count(0); |
732 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); | 736 GetUsageAndQuota(GURL("http://foo.com/"), kTemp); |
733 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), | 737 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), |
734 kTemp); | 738 kTemp); |
735 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), | 739 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), |
736 kTemp); | 740 kTemp); |
737 | 741 |
738 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); | 742 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); |
739 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); | 743 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); |
740 | 744 |
741 // Nuke before waiting for callbacks. | 745 // Nuke before waiting for callbacks. |
742 set_quota_manager(NULL); | 746 set_quota_manager(NULL); |
743 MessageLoop::current()->RunAllPending(); | 747 MessageLoop::current()->RunAllPending(); |
744 EXPECT_EQ(kQuotaErrorAbort, status()); | 748 EXPECT_EQ(kQuotaErrorAbort, status()); |
745 } | 749 } |
746 | 750 |
747 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Overbudget) { | 751 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Overbudget) { |
748 static const MockOriginData kData[] = { | 752 static const MockOriginData kData[] = { |
749 { "http://usage1/", kTemp, 1 }, | 753 { "http://usage1/", kTemp, 1 }, |
750 { "http://usage10/", kTemp, 10 }, | 754 { "http://usage10/", kTemp, 10 }, |
751 { "http://usage200/", kTemp, 200 }, | 755 { "http://usage200/", kTemp, 200 }, |
752 }; | 756 }; |
753 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 757 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 758 QuotaClient::kFileSystem)); |
754 SetTemporaryGlobalQuota(100); | 759 SetTemporaryGlobalQuota(100); |
755 MessageLoop::current()->RunAllPending(); | 760 MessageLoop::current()->RunAllPending(); |
756 | 761 |
757 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; | 762 const int kPerHostQuota = 100 / QuotaManager::kPerHostTemporaryPortion; |
758 | 763 |
759 GetUsageAndQuota(GURL("http://usage1/"), kTemp); | 764 GetUsageAndQuota(GURL("http://usage1/"), kTemp); |
760 MessageLoop::current()->RunAllPending(); | 765 MessageLoop::current()->RunAllPending(); |
761 EXPECT_EQ(kQuotaStatusOk, status()); | 766 EXPECT_EQ(kQuotaStatusOk, status()); |
762 EXPECT_EQ(1, usage()); | 767 EXPECT_EQ(1, usage()); |
763 EXPECT_EQ(1, quota()); // should be clamped to our current usage | 768 EXPECT_EQ(1, quota()); // should be clamped to our current usage |
(...skipping 11 matching lines...) Expand all Loading... |
775 EXPECT_EQ(kPerHostQuota, quota()); // should be clamped to the nominal quota | 780 EXPECT_EQ(kPerHostQuota, quota()); // should be clamped to the nominal quota |
776 } | 781 } |
777 | 782 |
778 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Unlimited) { | 783 TEST_F(QuotaManagerTest, GetTemporaryUsageAndQuota_Unlimited) { |
779 static const MockOriginData kData[] = { | 784 static const MockOriginData kData[] = { |
780 { "http://usage10/", kTemp, 10 }, | 785 { "http://usage10/", kTemp, 10 }, |
781 { "http://usage50/", kTemp, 50 }, | 786 { "http://usage50/", kTemp, 50 }, |
782 { "http://unlimited/", kTemp, 4000 }, | 787 { "http://unlimited/", kTemp, 4000 }, |
783 }; | 788 }; |
784 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); | 789 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); |
785 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 790 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 791 QuotaClient::kFileSystem); |
786 RegisterClient(client); | 792 RegisterClient(client); |
787 | 793 |
788 // Test when not overbugdet. | 794 // Test when not overbugdet. |
789 SetTemporaryGlobalQuota(1000); | 795 SetTemporaryGlobalQuota(1000); |
790 MessageLoop::current()->RunAllPending(); | 796 MessageLoop::current()->RunAllPending(); |
791 | 797 |
792 GetGlobalUsage(kTemp); | 798 GetGlobalUsage(kTemp); |
793 MessageLoop::current()->RunAllPending(); | 799 MessageLoop::current()->RunAllPending(); |
794 EXPECT_EQ(10 + 50 + 4000, usage()); | 800 EXPECT_EQ(10 + 50 + 4000, usage()); |
795 EXPECT_EQ(4000, unlimited_usage()); | 801 EXPECT_EQ(4000, unlimited_usage()); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 quota_manager()->NotifyOriginInUse(kBarOrigin); | 890 quota_manager()->NotifyOriginInUse(kBarOrigin); |
885 EXPECT_TRUE(quota_manager()->IsOriginInUse(kBarOrigin)); | 891 EXPECT_TRUE(quota_manager()->IsOriginInUse(kBarOrigin)); |
886 quota_manager()->NotifyOriginNoLongerInUse(kBarOrigin); | 892 quota_manager()->NotifyOriginNoLongerInUse(kBarOrigin); |
887 EXPECT_FALSE(quota_manager()->IsOriginInUse(kBarOrigin)); | 893 EXPECT_FALSE(quota_manager()->IsOriginInUse(kBarOrigin)); |
888 | 894 |
889 quota_manager()->NotifyOriginNoLongerInUse(kFooOrigin); | 895 quota_manager()->NotifyOriginNoLongerInUse(kFooOrigin); |
890 EXPECT_FALSE(quota_manager()->IsOriginInUse(kFooOrigin)); | 896 EXPECT_FALSE(quota_manager()->IsOriginInUse(kFooOrigin)); |
891 } | 897 } |
892 | 898 |
893 TEST_F(QuotaManagerTest, GetAndSetPerststentHostQuota) { | 899 TEST_F(QuotaManagerTest, GetAndSetPerststentHostQuota) { |
894 RegisterClient(CreateClient(NULL, 0)); | 900 RegisterClient(CreateClient(NULL, 0, QuotaClient::kFileSystem)); |
895 | 901 |
896 GetPersistentHostQuota("foo.com"); | 902 GetPersistentHostQuota("foo.com"); |
897 MessageLoop::current()->RunAllPending(); | 903 MessageLoop::current()->RunAllPending(); |
898 EXPECT_EQ("foo.com", host()); | 904 EXPECT_EQ("foo.com", host()); |
899 EXPECT_EQ(kPerm, type()); | 905 EXPECT_EQ(kPerm, type()); |
900 EXPECT_EQ(0, quota()); | 906 EXPECT_EQ(0, quota()); |
901 | 907 |
902 SetPersistentHostQuota("foo.com", 100); | 908 SetPersistentHostQuota("foo.com", 100); |
903 MessageLoop::current()->RunAllPending(); | 909 MessageLoop::current()->RunAllPending(); |
904 EXPECT_EQ(100, quota()); | 910 EXPECT_EQ(100, quota()); |
905 | 911 |
906 GetPersistentHostQuota("foo.com"); | 912 GetPersistentHostQuota("foo.com"); |
907 SetPersistentHostQuota("foo.com", 200); | 913 SetPersistentHostQuota("foo.com", 200); |
908 GetPersistentHostQuota("foo.com"); | 914 GetPersistentHostQuota("foo.com"); |
909 SetPersistentHostQuota("foo.com", 300000000000ll); | 915 SetPersistentHostQuota("foo.com", 300000000000ll); |
910 GetPersistentHostQuota("foo.com"); | 916 GetPersistentHostQuota("foo.com"); |
911 MessageLoop::current()->RunAllPending(); | 917 MessageLoop::current()->RunAllPending(); |
912 EXPECT_EQ(300000000000ll, quota()); | 918 EXPECT_EQ(300000000000ll, quota()); |
913 } | 919 } |
914 | 920 |
915 TEST_F(QuotaManagerTest, GetAndSetPersistentUsageAndQuota) { | 921 TEST_F(QuotaManagerTest, GetAndSetPersistentUsageAndQuota) { |
916 RegisterClient(CreateClient(NULL, 0)); | 922 RegisterClient(CreateClient(NULL, 0, QuotaClient::kFileSystem)); |
917 | 923 |
918 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 924 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
919 MessageLoop::current()->RunAllPending(); | 925 MessageLoop::current()->RunAllPending(); |
920 EXPECT_EQ(kQuotaStatusOk, status()); | 926 EXPECT_EQ(kQuotaStatusOk, status()); |
921 EXPECT_EQ(0, usage()); | 927 EXPECT_EQ(0, usage()); |
922 EXPECT_EQ(0, quota()); | 928 EXPECT_EQ(0, quota()); |
923 | 929 |
924 SetPersistentHostQuota("foo.com", 100); | 930 SetPersistentHostQuota("foo.com", 100); |
925 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 931 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
926 MessageLoop::current()->RunAllPending(); | 932 MessageLoop::current()->RunAllPending(); |
927 EXPECT_EQ(kQuotaStatusOk, status()); | 933 EXPECT_EQ(kQuotaStatusOk, status()); |
928 EXPECT_EQ(0, usage()); | 934 EXPECT_EQ(0, usage()); |
929 EXPECT_EQ(100, quota()); | 935 EXPECT_EQ(100, quota()); |
930 } | 936 } |
931 | 937 |
932 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_MultiOrigins) { | 938 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_MultiOrigins) { |
933 static const MockOriginData kData[] = { | 939 static const MockOriginData kData[] = { |
934 { "http://foo.com/", kPerm, 10 }, | 940 { "http://foo.com/", kPerm, 10 }, |
935 { "http://foo.com:8080/", kPerm, 20 }, | 941 { "http://foo.com:8080/", kPerm, 20 }, |
936 { "https://foo.com/", kPerm, 13 }, | 942 { "https://foo.com/", kPerm, 13 }, |
937 { "https://foo.com:8081/", kPerm, 19 }, | 943 { "https://foo.com:8081/", kPerm, 19 }, |
938 { "http://bar.com/", kPerm, 5 }, | 944 { "http://bar.com/", kPerm, 5 }, |
939 { "https://bar.com/", kPerm, 7 }, | 945 { "https://bar.com/", kPerm, 7 }, |
940 { "http://baz.com/", kPerm, 30 }, | 946 { "http://baz.com/", kPerm, 30 }, |
941 { "http://foo.com/", kTemp, 40 }, | 947 { "http://foo.com/", kTemp, 40 }, |
942 }; | 948 }; |
943 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 949 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 950 QuotaClient::kFileSystem)); |
944 | 951 |
945 SetPersistentHostQuota("foo.com", 100); | 952 SetPersistentHostQuota("foo.com", 100); |
946 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 953 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
947 MessageLoop::current()->RunAllPending(); | 954 MessageLoop::current()->RunAllPending(); |
948 EXPECT_EQ(kQuotaStatusOk, status()); | 955 EXPECT_EQ(kQuotaStatusOk, status()); |
949 EXPECT_EQ(10 + 20 + 13 + 19, usage()); | 956 EXPECT_EQ(10 + 20 + 13 + 19, usage()); |
950 EXPECT_EQ(100, quota()); | 957 EXPECT_EQ(100, quota()); |
951 } | 958 } |
952 | 959 |
953 TEST_F(QuotaManagerTest, GetPersistentUsage_WithModify) { | 960 TEST_F(QuotaManagerTest, GetPersistentUsage_WithModify) { |
954 GetUsage_WithModifyTestBody(kPerm); | 961 GetUsage_WithModifyTestBody(kPerm); |
955 } | 962 } |
956 | 963 |
957 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_WithAdditionalTasks) { | 964 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_WithAdditionalTasks) { |
958 static const MockOriginData kData[] = { | 965 static const MockOriginData kData[] = { |
959 { "http://foo.com/", kPerm, 10 }, | 966 { "http://foo.com/", kPerm, 10 }, |
960 { "http://foo.com:8080/", kPerm, 20 }, | 967 { "http://foo.com:8080/", kPerm, 20 }, |
961 { "http://bar.com/", kPerm, 13 }, | 968 { "http://bar.com/", kPerm, 13 }, |
962 { "http://foo.com/", kTemp, 40 }, | 969 { "http://foo.com/", kTemp, 40 }, |
963 }; | 970 }; |
964 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 971 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 972 QuotaClient::kFileSystem)); |
965 SetPersistentHostQuota("foo.com", 100); | 973 SetPersistentHostQuota("foo.com", 100); |
966 | 974 |
967 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 975 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
968 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 976 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
969 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 977 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
970 MessageLoop::current()->RunAllPending(); | 978 MessageLoop::current()->RunAllPending(); |
971 EXPECT_EQ(kQuotaStatusOk, status()); | 979 EXPECT_EQ(kQuotaStatusOk, status()); |
972 EXPECT_EQ(10 + 20, usage()); | 980 EXPECT_EQ(10 + 20, usage()); |
973 EXPECT_EQ(100, quota()); | 981 EXPECT_EQ(100, quota()); |
974 | 982 |
975 set_additional_callback_count(0); | 983 set_additional_callback_count(0); |
976 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), | 984 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), |
977 kPerm); | 985 kPerm); |
978 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 986 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
979 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), | 987 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), |
980 kPerm); | 988 kPerm); |
981 MessageLoop::current()->RunAllPending(); | 989 MessageLoop::current()->RunAllPending(); |
982 EXPECT_EQ(kQuotaStatusOk, status()); | 990 EXPECT_EQ(kQuotaStatusOk, status()); |
983 EXPECT_EQ(10 + 20, usage()); | 991 EXPECT_EQ(10 + 20, usage()); |
984 EXPECT_EQ(2, additional_callback_count()); | 992 EXPECT_EQ(2, additional_callback_count()); |
985 } | 993 } |
986 | 994 |
987 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_NukeManager) { | 995 TEST_F(QuotaManagerTest, GetPersistentUsageAndQuota_NukeManager) { |
988 static const MockOriginData kData[] = { | 996 static const MockOriginData kData[] = { |
989 { "http://foo.com/", kPerm, 10 }, | 997 { "http://foo.com/", kPerm, 10 }, |
990 { "http://foo.com:8080/", kPerm, 20 }, | 998 { "http://foo.com:8080/", kPerm, 20 }, |
991 { "http://bar.com/", kPerm, 13 }, | 999 { "http://bar.com/", kPerm, 13 }, |
992 { "http://foo.com/", kTemp, 40 }, | 1000 { "http://foo.com/", kTemp, 40 }, |
993 }; | 1001 }; |
994 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 1002 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1003 QuotaClient::kFileSystem)); |
995 SetPersistentHostQuota("foo.com", 100); | 1004 SetPersistentHostQuota("foo.com", 100); |
996 | 1005 |
997 set_additional_callback_count(0); | 1006 set_additional_callback_count(0); |
998 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); | 1007 GetUsageAndQuota(GURL("http://foo.com/"), kPerm); |
999 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), | 1008 RunAdditionalUsageAndQuotaTask(GURL("http://foo.com/"), |
1000 kPerm); | 1009 kPerm); |
1001 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), | 1010 RunAdditionalUsageAndQuotaTask(GURL("http://bar.com/"), |
1002 kPerm); | 1011 kPerm); |
1003 | 1012 |
1004 // Nuke before waiting for callbacks. | 1013 // Nuke before waiting for callbacks. |
1005 set_quota_manager(NULL); | 1014 set_quota_manager(NULL); |
1006 MessageLoop::current()->RunAllPending(); | 1015 MessageLoop::current()->RunAllPending(); |
1007 EXPECT_EQ(kQuotaErrorAbort, status()); | 1016 EXPECT_EQ(kQuotaErrorAbort, status()); |
1008 } | 1017 } |
1009 | 1018 |
1010 TEST_F(QuotaManagerTest, GetUsage_Simple) { | 1019 TEST_F(QuotaManagerTest, GetUsage_Simple) { |
1011 static const MockOriginData kData[] = { | 1020 static const MockOriginData kData[] = { |
1012 { "http://foo.com/", kPerm, 1 }, | 1021 { "http://foo.com/", kPerm, 1 }, |
1013 { "http://foo.com:1/", kPerm, 20 }, | 1022 { "http://foo.com:1/", kPerm, 20 }, |
1014 { "http://bar.com/", kTemp, 300 }, | 1023 { "http://bar.com/", kTemp, 300 }, |
1015 { "https://buz.com/", kTemp, 4000 }, | 1024 { "https://buz.com/", kTemp, 4000 }, |
1016 { "http://buz.com/", kTemp, 50000 }, | 1025 { "http://buz.com/", kTemp, 50000 }, |
1017 { "http://bar.com:1/", kPerm, 600000 }, | 1026 { "http://bar.com:1/", kPerm, 600000 }, |
1018 { "http://foo.com/", kTemp, 7000000 }, | 1027 { "http://foo.com/", kTemp, 7000000 }, |
1019 }; | 1028 }; |
1020 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData))); | 1029 RegisterClient(CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1030 QuotaClient::kFileSystem)); |
1021 | 1031 |
1022 GetGlobalUsage(kPerm); | 1032 GetGlobalUsage(kPerm); |
1023 MessageLoop::current()->RunAllPending(); | 1033 MessageLoop::current()->RunAllPending(); |
1024 EXPECT_EQ(usage(), 1 + 20 + 600000); | 1034 EXPECT_EQ(usage(), 1 + 20 + 600000); |
1025 EXPECT_EQ(0, unlimited_usage()); | 1035 EXPECT_EQ(0, unlimited_usage()); |
1026 | 1036 |
1027 GetGlobalUsage(kTemp); | 1037 GetGlobalUsage(kTemp); |
1028 MessageLoop::current()->RunAllPending(); | 1038 MessageLoop::current()->RunAllPending(); |
1029 EXPECT_EQ(usage(), 300 + 4000 + 50000 + 7000000); | 1039 EXPECT_EQ(usage(), 300 + 4000 + 50000 + 7000000); |
1030 EXPECT_EQ(0, unlimited_usage()); | 1040 EXPECT_EQ(0, unlimited_usage()); |
(...skipping 11 matching lines...) Expand all Loading... |
1042 static const MockOriginData kData[] = { | 1052 static const MockOriginData kData[] = { |
1043 { "http://foo.com/", kPerm, 1 }, | 1053 { "http://foo.com/", kPerm, 1 }, |
1044 { "http://foo.com:1/", kPerm, 20 }, | 1054 { "http://foo.com:1/", kPerm, 20 }, |
1045 { "http://bar.com/", kTemp, 300 }, | 1055 { "http://bar.com/", kTemp, 300 }, |
1046 { "https://buz.com/", kTemp, 4000 }, | 1056 { "https://buz.com/", kTemp, 4000 }, |
1047 { "http://buz.com/", kTemp, 50000 }, | 1057 { "http://buz.com/", kTemp, 50000 }, |
1048 { "http://bar.com:1/", kPerm, 600000 }, | 1058 { "http://bar.com:1/", kPerm, 600000 }, |
1049 { "http://foo.com/", kTemp, 7000000 }, | 1059 { "http://foo.com/", kTemp, 7000000 }, |
1050 }; | 1060 }; |
1051 | 1061 |
1052 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1062 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1063 QuotaClient::kFileSystem); |
1053 RegisterClient(client); | 1064 RegisterClient(client); |
1054 | 1065 |
1055 GetGlobalUsage(kPerm); | 1066 GetGlobalUsage(kPerm); |
1056 MessageLoop::current()->RunAllPending(); | 1067 MessageLoop::current()->RunAllPending(); |
1057 EXPECT_EQ(usage(), 1 + 20 + 600000); | 1068 EXPECT_EQ(usage(), 1 + 20 + 600000); |
1058 EXPECT_EQ(0, unlimited_usage()); | 1069 EXPECT_EQ(0, unlimited_usage()); |
1059 | 1070 |
1060 client->ModifyOriginAndNotify( | 1071 client->ModifyOriginAndNotify( |
1061 GURL("http://foo.com/"), kPerm, 80000000); | 1072 GURL("http://foo.com/"), kPerm, 80000000); |
1062 | 1073 |
(...skipping 27 matching lines...) Expand all Loading... |
1090 EXPECT_EQ(usage(), 4000 + 50000 + 900000000); | 1101 EXPECT_EQ(usage(), 4000 + 50000 + 900000000); |
1091 } | 1102 } |
1092 | 1103 |
1093 TEST_F(QuotaManagerTest, GetUsage_WithDeleteOrigin) { | 1104 TEST_F(QuotaManagerTest, GetUsage_WithDeleteOrigin) { |
1094 static const MockOriginData kData[] = { | 1105 static const MockOriginData kData[] = { |
1095 { "http://foo.com/", kTemp, 1 }, | 1106 { "http://foo.com/", kTemp, 1 }, |
1096 { "http://foo.com:1/", kTemp, 20 }, | 1107 { "http://foo.com:1/", kTemp, 20 }, |
1097 { "http://foo.com/", kPerm, 300 }, | 1108 { "http://foo.com/", kPerm, 300 }, |
1098 { "http://bar.com/", kTemp, 4000 }, | 1109 { "http://bar.com/", kTemp, 4000 }, |
1099 }; | 1110 }; |
1100 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1111 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1112 QuotaClient::kFileSystem); |
1101 RegisterClient(client); | 1113 RegisterClient(client); |
1102 | 1114 |
1103 GetGlobalUsage(kTemp); | 1115 GetGlobalUsage(kTemp); |
1104 MessageLoop::current()->RunAllPending(); | 1116 MessageLoop::current()->RunAllPending(); |
1105 int64 predelete_global_tmp = usage(); | 1117 int64 predelete_global_tmp = usage(); |
1106 | 1118 |
1107 GetHostUsage("foo.com", kTemp); | 1119 GetHostUsage("foo.com", kTemp); |
1108 MessageLoop::current()->RunAllPending(); | 1120 MessageLoop::current()->RunAllPending(); |
1109 int64 predelete_host_tmp = usage(); | 1121 int64 predelete_host_tmp = usage(); |
1110 | 1122 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1144 { "http://foo.com/", kPerm, 300 }, | 1156 { "http://foo.com/", kPerm, 300 }, |
1145 { "http://bar.com/", kTemp, 4000 }, | 1157 { "http://bar.com/", kTemp, 4000 }, |
1146 }; | 1158 }; |
1147 static const MockOriginData kData2[] = { | 1159 static const MockOriginData kData2[] = { |
1148 { "http://foo.com/", kTemp, 50000 }, | 1160 { "http://foo.com/", kTemp, 50000 }, |
1149 { "http://foo.com:1/", kTemp, 6000 }, | 1161 { "http://foo.com:1/", kTemp, 6000 }, |
1150 { "http://foo.com/", kPerm, 700 }, | 1162 { "http://foo.com/", kPerm, 700 }, |
1151 { "https://foo.com/", kTemp, 80 }, | 1163 { "https://foo.com/", kTemp, 80 }, |
1152 { "http://bar.com/", kTemp, 9 }, | 1164 { "http://bar.com/", kTemp, 9 }, |
1153 }; | 1165 }; |
1154 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1)); | 1166 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), |
1155 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2)); | 1167 QuotaClient::kFileSystem); |
| 1168 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), |
| 1169 QuotaClient::kDatabase); |
1156 RegisterClient(client1); | 1170 RegisterClient(client1); |
1157 RegisterClient(client2); | 1171 RegisterClient(client2); |
1158 | 1172 |
1159 GetGlobalUsage(kTemp); | 1173 GetGlobalUsage(kTemp); |
1160 MessageLoop::current()->RunAllPending(); | 1174 MessageLoop::current()->RunAllPending(); |
1161 int64 predelete_global_tmp = usage(); | 1175 int64 predelete_global_tmp = usage(); |
1162 | 1176 |
1163 GetHostUsage("foo.com", kTemp); | 1177 GetHostUsage("foo.com", kTemp); |
1164 MessageLoop::current()->RunAllPending(); | 1178 MessageLoop::current()->RunAllPending(); |
1165 int64 predelete_host_tmp = usage(); | 1179 int64 predelete_host_tmp = usage(); |
1166 | 1180 |
1167 GetHostUsage("foo.com", kPerm); | 1181 GetHostUsage("foo.com", kPerm); |
1168 MessageLoop::current()->RunAllPending(); | 1182 MessageLoop::current()->RunAllPending(); |
1169 int64 predelete_host_pers = usage(); | 1183 int64 predelete_host_pers = usage(); |
1170 | 1184 |
1171 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) | 1185 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) |
1172 quota_manager()->NotifyStorageAccessed(QuotaClient::kMockStart, | 1186 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, |
1173 GURL(kData1[i].origin), kData1[i].type); | 1187 GURL(kData1[i].origin), kData1[i].type); |
1174 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) | 1188 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) |
1175 quota_manager()->NotifyStorageAccessed(QuotaClient::kMockStart, | 1189 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, |
1176 GURL(kData2[i].origin), kData2[i].type); | 1190 GURL(kData2[i].origin), kData2[i].type); |
1177 MessageLoop::current()->RunAllPending(); | 1191 MessageLoop::current()->RunAllPending(); |
1178 | 1192 |
1179 EvictOriginData(GURL("http://foo.com/"), kTemp); | 1193 EvictOriginData(GURL("http://foo.com/"), kTemp); |
1180 MessageLoop::current()->RunAllPending(); | 1194 MessageLoop::current()->RunAllPending(); |
1181 | 1195 |
1182 DumpOriginInfoTable(); | 1196 DumpOriginInfoTable(); |
1183 MessageLoop::current()->RunAllPending(); | 1197 MessageLoop::current()->RunAllPending(); |
1184 | 1198 |
1185 typedef OriginInfoTableEntries::const_iterator iterator; | 1199 typedef OriginInfoTableEntries::const_iterator iterator; |
(...skipping 18 matching lines...) Expand all Loading... |
1204 } | 1218 } |
1205 | 1219 |
1206 TEST_F(QuotaManagerTest, EvictOriginDataWithDeletionError) { | 1220 TEST_F(QuotaManagerTest, EvictOriginDataWithDeletionError) { |
1207 static const MockOriginData kData[] = { | 1221 static const MockOriginData kData[] = { |
1208 { "http://foo.com/", kTemp, 1 }, | 1222 { "http://foo.com/", kTemp, 1 }, |
1209 { "http://foo.com:1/", kTemp, 20 }, | 1223 { "http://foo.com:1/", kTemp, 20 }, |
1210 { "http://foo.com/", kPerm, 300 }, | 1224 { "http://foo.com/", kPerm, 300 }, |
1211 { "http://bar.com/", kTemp, 4000 }, | 1225 { "http://bar.com/", kTemp, 4000 }, |
1212 }; | 1226 }; |
1213 static const int kNumberOfTemporaryOrigins = 3; | 1227 static const int kNumberOfTemporaryOrigins = 3; |
1214 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1228 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1229 QuotaClient::kFileSystem); |
1215 RegisterClient(client); | 1230 RegisterClient(client); |
1216 | 1231 |
1217 GetGlobalUsage(kTemp); | 1232 GetGlobalUsage(kTemp); |
1218 MessageLoop::current()->RunAllPending(); | 1233 MessageLoop::current()->RunAllPending(); |
1219 int64 predelete_global_tmp = usage(); | 1234 int64 predelete_global_tmp = usage(); |
1220 | 1235 |
1221 GetHostUsage("foo.com", kTemp); | 1236 GetHostUsage("foo.com", kTemp); |
1222 MessageLoop::current()->RunAllPending(); | 1237 MessageLoop::current()->RunAllPending(); |
1223 int64 predelete_host_tmp = usage(); | 1238 int64 predelete_host_tmp = usage(); |
1224 | 1239 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1289 | 1304 |
1290 TEST_F(QuotaManagerTest, GetUsageAndQuotaForEviction) { | 1305 TEST_F(QuotaManagerTest, GetUsageAndQuotaForEviction) { |
1291 static const MockOriginData kData[] = { | 1306 static const MockOriginData kData[] = { |
1292 { "http://foo.com/", kTemp, 1 }, | 1307 { "http://foo.com/", kTemp, 1 }, |
1293 { "http://foo.com:1/", kTemp, 20 }, | 1308 { "http://foo.com:1/", kTemp, 20 }, |
1294 { "http://foo.com/", kPerm, 300 }, | 1309 { "http://foo.com/", kPerm, 300 }, |
1295 { "http://unlimited/", kTemp, 4000 }, | 1310 { "http://unlimited/", kTemp, 4000 }, |
1296 }; | 1311 }; |
1297 | 1312 |
1298 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); | 1313 mock_special_storage_policy()->AddUnlimited(GURL("http://unlimited/")); |
1299 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1314 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1315 QuotaClient::kFileSystem); |
1300 RegisterClient(client); | 1316 RegisterClient(client); |
1301 | 1317 |
1302 SetTemporaryGlobalQuota(10000000); | 1318 SetTemporaryGlobalQuota(10000000); |
1303 MessageLoop::current()->RunAllPending(); | 1319 MessageLoop::current()->RunAllPending(); |
1304 | 1320 |
1305 GetUsageAndQuotaForEviction(); | 1321 GetUsageAndQuotaForEviction(); |
1306 MessageLoop::current()->RunAllPending(); | 1322 MessageLoop::current()->RunAllPending(); |
1307 EXPECT_EQ(kQuotaStatusOk, status()); | 1323 EXPECT_EQ(kQuotaStatusOk, status()); |
1308 EXPECT_EQ(4021, usage()); | 1324 EXPECT_EQ(4021, usage()); |
1309 EXPECT_EQ(4000, unlimited_usage()); | 1325 EXPECT_EQ(4000, unlimited_usage()); |
1310 EXPECT_EQ(10000000, quota()); | 1326 EXPECT_EQ(10000000, quota()); |
1311 EXPECT_LE(0, available_space()); | 1327 EXPECT_LE(0, available_space()); |
1312 } | 1328 } |
1313 | 1329 |
1314 TEST_F(QuotaManagerTest, DeleteHostDataSimple) { | 1330 TEST_F(QuotaManagerTest, DeleteHostDataSimple) { |
1315 static const MockOriginData kData[] = { | 1331 static const MockOriginData kData[] = { |
1316 { "http://foo.com/", kTemp, 1 }, | 1332 { "http://foo.com/", kTemp, 1 }, |
1317 }; | 1333 }; |
1318 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1334 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1335 QuotaClient::kFileSystem); |
1319 RegisterClient(client); | 1336 RegisterClient(client); |
1320 | 1337 |
1321 GetGlobalUsage(kTemp); | 1338 GetGlobalUsage(kTemp); |
1322 MessageLoop::current()->RunAllPending(); | 1339 MessageLoop::current()->RunAllPending(); |
1323 const int64 predelete_global_tmp = usage(); | 1340 const int64 predelete_global_tmp = usage(); |
1324 | 1341 |
1325 GetHostUsage("foo.com", kTemp); | 1342 GetHostUsage("foo.com", kTemp); |
1326 MessageLoop::current()->RunAllPending(); | 1343 MessageLoop::current()->RunAllPending(); |
1327 int64 predelete_host_tmp = usage(); | 1344 int64 predelete_host_tmp = usage(); |
1328 | 1345 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1370 { "http://foo.com/", kPerm, 300 }, | 1387 { "http://foo.com/", kPerm, 300 }, |
1371 { "http://bar.com/", kTemp, 4000 }, | 1388 { "http://bar.com/", kTemp, 4000 }, |
1372 }; | 1389 }; |
1373 static const MockOriginData kData2[] = { | 1390 static const MockOriginData kData2[] = { |
1374 { "http://foo.com/", kTemp, 50000 }, | 1391 { "http://foo.com/", kTemp, 50000 }, |
1375 { "http://foo.com:1/", kTemp, 6000 }, | 1392 { "http://foo.com:1/", kTemp, 6000 }, |
1376 { "http://foo.com/", kPerm, 700 }, | 1393 { "http://foo.com/", kPerm, 700 }, |
1377 { "https://foo.com/", kTemp, 80 }, | 1394 { "https://foo.com/", kTemp, 80 }, |
1378 { "http://bar.com/", kTemp, 9 }, | 1395 { "http://bar.com/", kTemp, 9 }, |
1379 }; | 1396 }; |
1380 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1)); | 1397 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), |
1381 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2)); | 1398 QuotaClient::kFileSystem); |
| 1399 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), |
| 1400 QuotaClient::kDatabase); |
1382 RegisterClient(client1); | 1401 RegisterClient(client1); |
1383 RegisterClient(client2); | 1402 RegisterClient(client2); |
1384 | 1403 |
1385 GetGlobalUsage(kTemp); | 1404 GetGlobalUsage(kTemp); |
1386 MessageLoop::current()->RunAllPending(); | 1405 MessageLoop::current()->RunAllPending(); |
1387 const int64 predelete_global_tmp = usage(); | 1406 const int64 predelete_global_tmp = usage(); |
1388 | 1407 |
1389 GetHostUsage("foo.com", kTemp); | 1408 GetHostUsage("foo.com", kTemp); |
1390 MessageLoop::current()->RunAllPending(); | 1409 MessageLoop::current()->RunAllPending(); |
1391 const int64 predelete_foo_tmp = usage(); | 1410 const int64 predelete_foo_tmp = usage(); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1456 { "http://foo.com/", kPerm, 300 }, | 1475 { "http://foo.com/", kPerm, 300 }, |
1457 { "http://bar.com/", kTemp, 4000 }, | 1476 { "http://bar.com/", kTemp, 4000 }, |
1458 }; | 1477 }; |
1459 static const MockOriginData kData2[] = { | 1478 static const MockOriginData kData2[] = { |
1460 { "http://foo.com/", kTemp, 50000 }, | 1479 { "http://foo.com/", kTemp, 50000 }, |
1461 { "http://foo.com:1/", kTemp, 6000 }, | 1480 { "http://foo.com:1/", kTemp, 6000 }, |
1462 { "http://foo.com/", kPerm, 700 }, | 1481 { "http://foo.com/", kPerm, 700 }, |
1463 { "https://foo.com/", kTemp, 80 }, | 1482 { "https://foo.com/", kTemp, 80 }, |
1464 { "http://bar.com/", kTemp, 9 }, | 1483 { "http://bar.com/", kTemp, 9 }, |
1465 }; | 1484 }; |
1466 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1)); | 1485 MockStorageClient* client1 = CreateClient(kData1, ARRAYSIZE_UNSAFE(kData1), |
1467 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2)); | 1486 QuotaClient::kFileSystem); |
| 1487 MockStorageClient* client2 = CreateClient(kData2, ARRAYSIZE_UNSAFE(kData2), |
| 1488 QuotaClient::kDatabase); |
1468 RegisterClient(client1); | 1489 RegisterClient(client1); |
1469 RegisterClient(client2); | 1490 RegisterClient(client2); |
1470 | 1491 |
1471 GetGlobalUsage(kTemp); | 1492 GetGlobalUsage(kTemp); |
1472 MessageLoop::current()->RunAllPending(); | 1493 MessageLoop::current()->RunAllPending(); |
1473 const int64 predelete_global_tmp = usage(); | 1494 const int64 predelete_global_tmp = usage(); |
1474 | 1495 |
1475 GetHostUsage("foo.com", kTemp); | 1496 GetHostUsage("foo.com", kTemp); |
1476 MessageLoop::current()->RunAllPending(); | 1497 MessageLoop::current()->RunAllPending(); |
1477 const int64 predelete_foo_tmp = usage(); | 1498 const int64 predelete_foo_tmp = usage(); |
1478 | 1499 |
1479 GetHostUsage("bar.com", kTemp); | 1500 GetHostUsage("bar.com", kTemp); |
1480 MessageLoop::current()->RunAllPending(); | 1501 MessageLoop::current()->RunAllPending(); |
1481 const int64 predelete_bar_tmp = usage(); | 1502 const int64 predelete_bar_tmp = usage(); |
1482 | 1503 |
1483 GetHostUsage("foo.com", kPerm); | 1504 GetHostUsage("foo.com", kPerm); |
1484 MessageLoop::current()->RunAllPending(); | 1505 MessageLoop::current()->RunAllPending(); |
1485 const int64 predelete_foo_pers = usage(); | 1506 const int64 predelete_foo_pers = usage(); |
1486 | 1507 |
1487 GetHostUsage("bar.com", kPerm); | 1508 GetHostUsage("bar.com", kPerm); |
1488 MessageLoop::current()->RunAllPending(); | 1509 MessageLoop::current()->RunAllPending(); |
1489 const int64 predelete_bar_pers = usage(); | 1510 const int64 predelete_bar_pers = usage(); |
1490 | 1511 |
1491 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) | 1512 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData1); ++i) |
1492 quota_manager()->NotifyStorageAccessed(QuotaClient::kMockStart, | 1513 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, |
1493 GURL(kData1[i].origin), kData1[i].type); | 1514 GURL(kData1[i].origin), kData1[i].type); |
1494 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) | 1515 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kData2); ++i) |
1495 quota_manager()->NotifyStorageAccessed(QuotaClient::kMockStart, | 1516 quota_manager()->NotifyStorageAccessed(QuotaClient::kUnknown, |
1496 GURL(kData2[i].origin), kData2[i].type); | 1517 GURL(kData2[i].origin), kData2[i].type); |
1497 MessageLoop::current()->RunAllPending(); | 1518 MessageLoop::current()->RunAllPending(); |
1498 | 1519 |
1499 reset_status_callback_count(); | 1520 reset_status_callback_count(); |
1500 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); | 1521 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); |
1501 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); | 1522 DeleteOriginData(GURL("http://bar.com/"), kTemp, kAllClients); |
1502 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); | 1523 DeleteOriginData(GURL("http://foo.com/"), kTemp, kAllClients); |
1503 MessageLoop::current()->RunAllPending(); | 1524 MessageLoop::current()->RunAllPending(); |
1504 | 1525 |
1505 EXPECT_EQ(3, status_callback_count()); | 1526 EXPECT_EQ(3, status_callback_count()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1538 EXPECT_EQ(predelete_bar_pers, usage()); | 1559 EXPECT_EQ(predelete_bar_pers, usage()); |
1539 } | 1560 } |
1540 | 1561 |
1541 TEST_F(QuotaManagerTest, GetCachedOrigins) { | 1562 TEST_F(QuotaManagerTest, GetCachedOrigins) { |
1542 static const MockOriginData kData[] = { | 1563 static const MockOriginData kData[] = { |
1543 { "http://a.com/", kTemp, 1 }, | 1564 { "http://a.com/", kTemp, 1 }, |
1544 { "http://a.com:1/", kTemp, 20 }, | 1565 { "http://a.com:1/", kTemp, 20 }, |
1545 { "http://b.com/", kPerm, 300 }, | 1566 { "http://b.com/", kPerm, 300 }, |
1546 { "http://c.com/", kTemp, 4000 }, | 1567 { "http://c.com/", kTemp, 4000 }, |
1547 }; | 1568 }; |
1548 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1569 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1570 QuotaClient::kFileSystem); |
1549 RegisterClient(client); | 1571 RegisterClient(client); |
1550 | 1572 |
1551 // TODO(kinuko): Be careful when we add cache pruner. | 1573 // TODO(kinuko): Be careful when we add cache pruner. |
1552 | 1574 |
1553 std::set<GURL> origins; | 1575 std::set<GURL> origins; |
1554 GetCachedOrigins(kTemp, &origins); | 1576 GetCachedOrigins(kTemp, &origins); |
1555 EXPECT_TRUE(origins.empty()); | 1577 EXPECT_TRUE(origins.empty()); |
1556 | 1578 |
1557 // No matter how we make queries the quota manager tries to cache all | 1579 // No matter how we make queries the quota manager tries to cache all |
1558 // the origins at startup. | 1580 // the origins at startup. |
(...skipping 22 matching lines...) Expand all Loading... |
1581 } | 1603 } |
1582 | 1604 |
1583 TEST_F(QuotaManagerTest, NotifyAndLRUOrigin) { | 1605 TEST_F(QuotaManagerTest, NotifyAndLRUOrigin) { |
1584 static const MockOriginData kData[] = { | 1606 static const MockOriginData kData[] = { |
1585 { "http://a.com/", kTemp, 0 }, | 1607 { "http://a.com/", kTemp, 0 }, |
1586 { "http://a.com:1/", kTemp, 0 }, | 1608 { "http://a.com:1/", kTemp, 0 }, |
1587 { "https://a.com/", kTemp, 0 }, | 1609 { "https://a.com/", kTemp, 0 }, |
1588 { "http://b.com/", kPerm, 0 }, // persistent | 1610 { "http://b.com/", kPerm, 0 }, // persistent |
1589 { "http://c.com/", kTemp, 0 }, | 1611 { "http://c.com/", kTemp, 0 }, |
1590 }; | 1612 }; |
1591 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1613 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1614 QuotaClient::kFileSystem); |
1592 RegisterClient(client); | 1615 RegisterClient(client); |
1593 | 1616 |
1594 GURL origin; | 1617 GURL origin; |
1595 GetLRUOrigin(kTemp); | 1618 GetLRUOrigin(kTemp); |
1596 MessageLoop::current()->RunAllPending(); | 1619 MessageLoop::current()->RunAllPending(); |
1597 EXPECT_TRUE(lru_origin().is_empty()); | 1620 EXPECT_TRUE(lru_origin().is_empty()); |
1598 | 1621 |
1599 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); | 1622 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); |
1600 GetLRUOrigin(kTemp); | 1623 GetLRUOrigin(kTemp); |
1601 MessageLoop::current()->RunAllPending(); | 1624 MessageLoop::current()->RunAllPending(); |
(...skipping 18 matching lines...) Expand all Loading... |
1620 } | 1643 } |
1621 | 1644 |
1622 TEST_F(QuotaManagerTest, GetLRUOriginWithOriginInUse) { | 1645 TEST_F(QuotaManagerTest, GetLRUOriginWithOriginInUse) { |
1623 static const MockOriginData kData[] = { | 1646 static const MockOriginData kData[] = { |
1624 { "http://a.com/", kTemp, 0 }, | 1647 { "http://a.com/", kTemp, 0 }, |
1625 { "http://a.com:1/", kTemp, 0 }, | 1648 { "http://a.com:1/", kTemp, 0 }, |
1626 { "https://a.com/", kTemp, 0 }, | 1649 { "https://a.com/", kTemp, 0 }, |
1627 { "http://b.com/", kPerm, 0 }, // persistent | 1650 { "http://b.com/", kPerm, 0 }, // persistent |
1628 { "http://c.com/", kTemp, 0 }, | 1651 { "http://c.com/", kTemp, 0 }, |
1629 }; | 1652 }; |
1630 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1653 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1654 QuotaClient::kFileSystem); |
1631 RegisterClient(client); | 1655 RegisterClient(client); |
1632 | 1656 |
1633 GURL origin; | 1657 GURL origin; |
1634 GetLRUOrigin(kTemp); | 1658 GetLRUOrigin(kTemp); |
1635 MessageLoop::current()->RunAllPending(); | 1659 MessageLoop::current()->RunAllPending(); |
1636 EXPECT_TRUE(lru_origin().is_empty()); | 1660 EXPECT_TRUE(lru_origin().is_empty()); |
1637 | 1661 |
1638 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); | 1662 NotifyStorageAccessed(client, GURL("http://a.com/"), kTemp); |
1639 NotifyStorageAccessed(client, GURL("http://b.com/"), kPerm); | 1663 NotifyStorageAccessed(client, GURL("http://b.com/"), kPerm); |
1640 NotifyStorageAccessed(client, GURL("https://a.com/"), kTemp); | 1664 NotifyStorageAccessed(client, GURL("https://a.com/"), kTemp); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1674 } | 1698 } |
1675 | 1699 |
1676 TEST_F(QuotaManagerTest, GetOriginsModifiedSince) { | 1700 TEST_F(QuotaManagerTest, GetOriginsModifiedSince) { |
1677 static const MockOriginData kData[] = { | 1701 static const MockOriginData kData[] = { |
1678 { "http://a.com/", kTemp, 0 }, | 1702 { "http://a.com/", kTemp, 0 }, |
1679 { "http://a.com:1/", kTemp, 0 }, | 1703 { "http://a.com:1/", kTemp, 0 }, |
1680 { "https://a.com/", kTemp, 0 }, | 1704 { "https://a.com/", kTemp, 0 }, |
1681 { "http://b.com/", kPerm, 0 }, // persistent | 1705 { "http://b.com/", kPerm, 0 }, // persistent |
1682 { "http://c.com/", kTemp, 0 }, | 1706 { "http://c.com/", kTemp, 0 }, |
1683 }; | 1707 }; |
1684 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData)); | 1708 MockStorageClient* client = CreateClient(kData, ARRAYSIZE_UNSAFE(kData), |
| 1709 QuotaClient::kFileSystem); |
1685 RegisterClient(client); | 1710 RegisterClient(client); |
1686 | 1711 |
1687 GetOriginsModifiedSince(kTemp, base::Time()); | 1712 GetOriginsModifiedSince(kTemp, base::Time()); |
1688 MessageLoop::current()->RunAllPending(); | 1713 MessageLoop::current()->RunAllPending(); |
1689 EXPECT_TRUE(modified_origins().empty()); | 1714 EXPECT_TRUE(modified_origins().empty()); |
1690 EXPECT_EQ(modified_origins_type(), kTemp); | 1715 EXPECT_EQ(modified_origins_type(), kTemp); |
1691 | 1716 |
1692 base::Time time1 = client->IncrementMockTime(); | 1717 base::Time time1 = client->IncrementMockTime(); |
1693 client->ModifyOriginAndNotify(GURL("http://a.com/"), kTemp, 10); | 1718 client->ModifyOriginAndNotify(GURL("http://a.com/"), kTemp, 10); |
1694 client->ModifyOriginAndNotify(GURL("http://a.com:1/"), kTemp, 10); | 1719 client->ModifyOriginAndNotify(GURL("http://a.com:1/"), kTemp, 10); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1750 << "quota = " << itr->quota); | 1775 << "quota = " << itr->quota); |
1751 EXPECT_EQ(1u, entries.erase(*itr)); | 1776 EXPECT_EQ(1u, entries.erase(*itr)); |
1752 } | 1777 } |
1753 EXPECT_TRUE(entries.empty()); | 1778 EXPECT_TRUE(entries.empty()); |
1754 } | 1779 } |
1755 | 1780 |
1756 TEST_F(QuotaManagerTest, DumpOriginInfoTable) { | 1781 TEST_F(QuotaManagerTest, DumpOriginInfoTable) { |
1757 using std::make_pair; | 1782 using std::make_pair; |
1758 | 1783 |
1759 quota_manager()->NotifyStorageAccessed( | 1784 quota_manager()->NotifyStorageAccessed( |
1760 QuotaClient::kMockStart, | 1785 QuotaClient::kUnknown, |
1761 GURL("http://example.com/"), | 1786 GURL("http://example.com/"), |
1762 kTemp); | 1787 kTemp); |
1763 quota_manager()->NotifyStorageAccessed( | 1788 quota_manager()->NotifyStorageAccessed( |
1764 QuotaClient::kMockStart, | 1789 QuotaClient::kUnknown, |
1765 GURL("http://example.com/"), | 1790 GURL("http://example.com/"), |
1766 kPerm); | 1791 kPerm); |
1767 quota_manager()->NotifyStorageAccessed( | 1792 quota_manager()->NotifyStorageAccessed( |
1768 QuotaClient::kMockStart, | 1793 QuotaClient::kUnknown, |
1769 GURL("http://example.com/"), | 1794 GURL("http://example.com/"), |
1770 kPerm); | 1795 kPerm); |
1771 MessageLoop::current()->RunAllPending(); | 1796 MessageLoop::current()->RunAllPending(); |
1772 | 1797 |
1773 DumpOriginInfoTable(); | 1798 DumpOriginInfoTable(); |
1774 MessageLoop::current()->RunAllPending(); | 1799 MessageLoop::current()->RunAllPending(); |
1775 | 1800 |
1776 typedef std::pair<GURL, StorageType> TypedOrigin; | 1801 typedef std::pair<GURL, StorageType> TypedOrigin; |
1777 typedef std::pair<TypedOrigin, int> Entry; | 1802 typedef std::pair<TypedOrigin, int> Entry; |
1778 const Entry kEntries[] = { | 1803 const Entry kEntries[] = { |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2002 EXPECT_EQ(predelete_foo_tmp - 2 - 1, usage()); | 2027 EXPECT_EQ(predelete_foo_tmp - 2 - 1, usage()); |
2003 | 2028 |
2004 DeleteHostData("foo.com", kTemp, | 2029 DeleteHostData("foo.com", kTemp, |
2005 QuotaClient::kDatabase | QuotaClient::kIndexedDatabase); | 2030 QuotaClient::kDatabase | QuotaClient::kIndexedDatabase); |
2006 MessageLoop::current()->RunAllPending(); | 2031 MessageLoop::current()->RunAllPending(); |
2007 GetHostUsage("foo.com", kTemp); | 2032 GetHostUsage("foo.com", kTemp); |
2008 MessageLoop::current()->RunAllPending(); | 2033 MessageLoop::current()->RunAllPending(); |
2009 EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage()); | 2034 EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage()); |
2010 } | 2035 } |
2011 } // namespace quota | 2036 } // namespace quota |
OLD | NEW |