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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
617 event_->Wait(); | 617 event_->Wait(); |
618 } | 618 } |
619 | 619 |
620 void StartCacheAttemptTest() { | 620 void StartCacheAttemptTest() { |
621 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 621 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
622 | 622 |
623 MakeService(); | 623 MakeService(); |
624 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), | 624 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), |
625 service_->storage()->NewGroupId()); | 625 service_->storage()->NewGroupId()); |
626 | 626 |
627 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 627 AppCacheUpdateJob* update = |
| 628 new AppCacheUpdateJob(service_.get(), group_.get()); |
628 group_->update_job_ = update; | 629 group_->update_job_ = update; |
629 | 630 |
630 MockFrontend mock_frontend; | 631 MockFrontend mock_frontend; |
631 AppCacheHost host(1, &mock_frontend, service_.get()); | 632 AppCacheHost host(1, &mock_frontend, service_.get()); |
632 | 633 |
633 update->StartUpdate(&host, GURL()); | 634 update->StartUpdate(&host, GURL()); |
634 | 635 |
635 // Verify state. | 636 // Verify state. |
636 EXPECT_EQ(AppCacheUpdateJob::CACHE_ATTEMPT, update->update_type_); | 637 EXPECT_EQ(AppCacheUpdateJob::CACHE_ATTEMPT, update->update_type_); |
637 EXPECT_EQ(AppCacheUpdateJob::FETCH_MANIFEST, update->internal_state_); | 638 EXPECT_EQ(AppCacheUpdateJob::FETCH_MANIFEST, update->internal_state_); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 host1.AssociateCompleteCache(cache1); | 672 host1.AssociateCompleteCache(cache1); |
672 | 673 |
673 AppCacheHost host2(2, &mock_frontend2, service_.get()); | 674 AppCacheHost host2(2, &mock_frontend2, service_.get()); |
674 host2.AssociateCompleteCache(cache2); | 675 host2.AssociateCompleteCache(cache2); |
675 | 676 |
676 AppCacheHost host3(3, &mock_frontend1, service_.get()); | 677 AppCacheHost host3(3, &mock_frontend1, service_.get()); |
677 host3.AssociateCompleteCache(cache1); | 678 host3.AssociateCompleteCache(cache1); |
678 | 679 |
679 AppCacheHost host4(4, &mock_frontend3, service_.get()); | 680 AppCacheHost host4(4, &mock_frontend3, service_.get()); |
680 | 681 |
681 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 682 AppCacheUpdateJob* update = |
| 683 new AppCacheUpdateJob(service_.get(), group_.get()); |
682 group_->update_job_ = update; | 684 group_->update_job_ = update; |
683 update->StartUpdate(&host4, GURL()); | 685 update->StartUpdate(&host4, GURL()); |
684 | 686 |
685 // Verify state after starting an update. | 687 // Verify state after starting an update. |
686 EXPECT_EQ(AppCacheUpdateJob::UPGRADE_ATTEMPT, update->update_type_); | 688 EXPECT_EQ(AppCacheUpdateJob::UPGRADE_ATTEMPT, update->update_type_); |
687 EXPECT_EQ(AppCacheUpdateJob::FETCH_MANIFEST, update->internal_state_); | 689 EXPECT_EQ(AppCacheUpdateJob::FETCH_MANIFEST, update->internal_state_); |
688 EXPECT_EQ(AppCacheGroup::CHECKING, group_->update_status()); | 690 EXPECT_EQ(AppCacheGroup::CHECKING, group_->update_status()); |
689 | 691 |
690 // Verify notifications. | 692 // Verify notifications. |
691 MockFrontend::RaisedEvents& events = mock_frontend1.raised_events_; | 693 MockFrontend::RaisedEvents& events = mock_frontend1.raised_events_; |
(...skipping 23 matching lines...) Expand all Loading... |
715 } | 717 } |
716 UpdateFinished(); | 718 UpdateFinished(); |
717 } | 719 } |
718 | 720 |
719 void CacheAttemptFetchManifestFailTest() { | 721 void CacheAttemptFetchManifestFailTest() { |
720 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 722 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
721 | 723 |
722 MakeService(); | 724 MakeService(); |
723 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), | 725 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), |
724 service_->storage()->NewGroupId()); | 726 service_->storage()->NewGroupId()); |
725 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 727 AppCacheUpdateJob* update = |
| 728 new AppCacheUpdateJob(service_.get(), group_.get()); |
726 group_->update_job_ = update; | 729 group_->update_job_ = update; |
727 | 730 |
728 MockFrontend* frontend = MakeMockFrontend(); | 731 MockFrontend* frontend = MakeMockFrontend(); |
729 AppCacheHost* host = MakeHost(1, frontend); | 732 AppCacheHost* host = MakeHost(1, frontend); |
730 update->StartUpdate(host, GURL()); | 733 update->StartUpdate(host, GURL()); |
731 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 734 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
732 | 735 |
733 update->manifest_fetcher_->request()->CancelWithError(-100); | 736 update->manifest_fetcher_->request()->CancelWithError(-100); |
734 | 737 |
735 // Set up checks for when update job finishes. | 738 // Set up checks for when update job finishes. |
736 do_checks_after_update_finished_ = true; | 739 do_checks_after_update_finished_ = true; |
737 expect_group_obsolete_ = false; | 740 expect_group_obsolete_ = false; |
738 expect_group_has_cache_ = false; | 741 expect_group_has_cache_ = false; |
739 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 742 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
740 CHECKING_EVENT); | 743 CHECKING_EVENT); |
741 | 744 |
742 WaitForUpdateToFinish(); | 745 WaitForUpdateToFinish(); |
743 } | 746 } |
744 | 747 |
745 void UpgradeFetchManifestFailTest() { | 748 void UpgradeFetchManifestFailTest() { |
746 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 749 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
747 | 750 |
748 MakeService(); | 751 MakeService(); |
749 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), | 752 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), |
750 service_->storage()->NewGroupId()); | 753 service_->storage()->NewGroupId()); |
751 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 754 AppCacheUpdateJob* update = |
| 755 new AppCacheUpdateJob(service_.get(), group_.get()); |
752 group_->update_job_ = update; | 756 group_->update_job_ = update; |
753 | 757 |
754 AppCache* cache = MakeCacheForGroup(1, 111); | 758 AppCache* cache = MakeCacheForGroup(1, 111); |
755 MockFrontend* frontend1 = MakeMockFrontend(); | 759 MockFrontend* frontend1 = MakeMockFrontend(); |
756 MockFrontend* frontend2 = MakeMockFrontend(); | 760 MockFrontend* frontend2 = MakeMockFrontend(); |
757 AppCacheHost* host1 = MakeHost(1, frontend1); | 761 AppCacheHost* host1 = MakeHost(1, frontend1); |
758 AppCacheHost* host2 = MakeHost(2, frontend2); | 762 AppCacheHost* host2 = MakeHost(2, frontend2); |
759 host1->AssociateCompleteCache(cache); | 763 host1->AssociateCompleteCache(cache); |
760 host2->AssociateCompleteCache(cache); | 764 host2->AssociateCompleteCache(cache); |
761 | 765 |
(...skipping 21 matching lines...) Expand all Loading... |
783 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 787 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
784 | 788 |
785 net::URLRequestJobFactoryImpl* new_factory( | 789 net::URLRequestJobFactoryImpl* new_factory( |
786 new net::URLRequestJobFactoryImpl); | 790 new net::URLRequestJobFactoryImpl); |
787 new_factory->SetProtocolHandler("http", new RedirectFactory); | 791 new_factory->SetProtocolHandler("http", new RedirectFactory); |
788 io_thread_->SetNewJobFactory(new_factory); | 792 io_thread_->SetNewJobFactory(new_factory); |
789 | 793 |
790 MakeService(); | 794 MakeService(); |
791 group_ = new AppCacheGroup(service_->storage(), GURL("http://testme"), | 795 group_ = new AppCacheGroup(service_->storage(), GURL("http://testme"), |
792 service_->storage()->NewGroupId()); | 796 service_->storage()->NewGroupId()); |
793 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 797 AppCacheUpdateJob* update = |
| 798 new AppCacheUpdateJob(service_.get(), group_.get()); |
794 group_->update_job_ = update; | 799 group_->update_job_ = update; |
795 | 800 |
796 MockFrontend* frontend = MakeMockFrontend(); | 801 MockFrontend* frontend = MakeMockFrontend(); |
797 AppCacheHost* host = MakeHost(1, frontend); | 802 AppCacheHost* host = MakeHost(1, frontend); |
798 update->StartUpdate(host, GURL()); | 803 update->StartUpdate(host, GURL()); |
799 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 804 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
800 | 805 |
801 // Set up checks for when update job finishes. | 806 // Set up checks for when update job finishes. |
802 do_checks_after_update_finished_ = true; | 807 do_checks_after_update_finished_ = true; |
803 expect_group_obsolete_ = false; | 808 expect_group_obsolete_ = false; |
804 expect_group_has_cache_ = false; // redirect is like a failed request | 809 expect_group_has_cache_ = false; // redirect is like a failed request |
805 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 810 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
806 CHECKING_EVENT); | 811 CHECKING_EVENT); |
807 | 812 |
808 WaitForUpdateToFinish(); | 813 WaitForUpdateToFinish(); |
809 } | 814 } |
810 | 815 |
811 void ManifestMissingMimeTypeTest() { | 816 void ManifestMissingMimeTypeTest() { |
812 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 817 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
813 | 818 |
814 MakeService(); | 819 MakeService(); |
815 group_ = new AppCacheGroup( | 820 group_ = new AppCacheGroup( |
816 service_->storage(), | 821 service_->storage(), |
817 MockHttpServer::GetMockUrl("files/missing-mime-manifest"), | 822 MockHttpServer::GetMockUrl("files/missing-mime-manifest"), |
818 service_->storage()->NewGroupId()); | 823 service_->storage()->NewGroupId()); |
819 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 824 AppCacheUpdateJob* update = |
| 825 new AppCacheUpdateJob(service_.get(), group_.get()); |
820 group_->update_job_ = update; | 826 group_->update_job_ = update; |
821 | 827 |
822 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 33); | 828 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 33); |
823 MockFrontend* frontend = MakeMockFrontend(); | 829 MockFrontend* frontend = MakeMockFrontend(); |
824 AppCacheHost* host = MakeHost(1, frontend); | 830 AppCacheHost* host = MakeHost(1, frontend); |
825 host->AssociateCompleteCache(cache); | 831 host->AssociateCompleteCache(cache); |
826 | 832 |
827 frontend->SetVerifyProgressEvents(true); | 833 frontend->SetVerifyProgressEvents(true); |
828 | 834 |
829 update->StartUpdate(NULL, GURL()); | 835 update->StartUpdate(NULL, GURL()); |
(...skipping 15 matching lines...) Expand all Loading... |
845 WaitForUpdateToFinish(); | 851 WaitForUpdateToFinish(); |
846 } | 852 } |
847 | 853 |
848 void ManifestNotFoundTest() { | 854 void ManifestNotFoundTest() { |
849 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 855 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
850 | 856 |
851 MakeService(); | 857 MakeService(); |
852 group_ = new AppCacheGroup( | 858 group_ = new AppCacheGroup( |
853 service_->storage(), MockHttpServer::GetMockUrl("files/nosuchfile"), | 859 service_->storage(), MockHttpServer::GetMockUrl("files/nosuchfile"), |
854 service_->storage()->NewGroupId()); | 860 service_->storage()->NewGroupId()); |
855 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 861 AppCacheUpdateJob* update = |
| 862 new AppCacheUpdateJob(service_.get(), group_.get()); |
856 group_->update_job_ = update; | 863 group_->update_job_ = update; |
857 | 864 |
858 AppCache* cache = MakeCacheForGroup(1, 111); | 865 AppCache* cache = MakeCacheForGroup(1, 111); |
859 MockFrontend* frontend1 = MakeMockFrontend(); | 866 MockFrontend* frontend1 = MakeMockFrontend(); |
860 MockFrontend* frontend2 = MakeMockFrontend(); | 867 MockFrontend* frontend2 = MakeMockFrontend(); |
861 AppCacheHost* host1 = MakeHost(1, frontend1); | 868 AppCacheHost* host1 = MakeHost(1, frontend1); |
862 AppCacheHost* host2 = MakeHost(2, frontend2); | 869 AppCacheHost* host2 = MakeHost(2, frontend2); |
863 host1->AssociateCompleteCache(cache); | 870 host1->AssociateCompleteCache(cache); |
864 host2->AssociateCompleteCache(cache); | 871 host2->AssociateCompleteCache(cache); |
865 | 872 |
(...skipping 15 matching lines...) Expand all Loading... |
881 WaitForUpdateToFinish(); | 888 WaitForUpdateToFinish(); |
882 } | 889 } |
883 | 890 |
884 void ManifestGoneTest() { | 891 void ManifestGoneTest() { |
885 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 892 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
886 | 893 |
887 MakeService(); | 894 MakeService(); |
888 group_ = new AppCacheGroup( | 895 group_ = new AppCacheGroup( |
889 service_->storage(), MockHttpServer::GetMockUrl("files/gone"), | 896 service_->storage(), MockHttpServer::GetMockUrl("files/gone"), |
890 service_->storage()->NewGroupId()); | 897 service_->storage()->NewGroupId()); |
891 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 898 AppCacheUpdateJob* update = |
| 899 new AppCacheUpdateJob(service_.get(), group_.get()); |
892 group_->update_job_ = update; | 900 group_->update_job_ = update; |
893 | 901 |
894 MockFrontend* frontend = MakeMockFrontend(); | 902 MockFrontend* frontend = MakeMockFrontend(); |
895 AppCacheHost* host = MakeHost(1, frontend); | 903 AppCacheHost* host = MakeHost(1, frontend); |
896 update->StartUpdate(host, GURL()); | 904 update->StartUpdate(host, GURL()); |
897 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 905 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
898 | 906 |
899 // Set up checks for when update job finishes. | 907 // Set up checks for when update job finishes. |
900 do_checks_after_update_finished_ = true; | 908 do_checks_after_update_finished_ = true; |
901 expect_group_obsolete_ = false; | 909 expect_group_obsolete_ = false; |
902 expect_group_has_cache_ = false; | 910 expect_group_has_cache_ = false; |
903 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 911 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
904 CHECKING_EVENT); | 912 CHECKING_EVENT); |
905 | 913 |
906 WaitForUpdateToFinish(); | 914 WaitForUpdateToFinish(); |
907 } | 915 } |
908 | 916 |
909 void CacheAttemptNotModifiedTest() { | 917 void CacheAttemptNotModifiedTest() { |
910 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 918 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
911 | 919 |
912 MakeService(); | 920 MakeService(); |
913 group_ = new AppCacheGroup( | 921 group_ = new AppCacheGroup( |
914 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), | 922 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), |
915 service_->storage()->NewGroupId()); | 923 service_->storage()->NewGroupId()); |
916 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 924 AppCacheUpdateJob* update = |
| 925 new AppCacheUpdateJob(service_.get(), group_.get()); |
917 group_->update_job_ = update; | 926 group_->update_job_ = update; |
918 | 927 |
919 MockFrontend* frontend = MakeMockFrontend(); | 928 MockFrontend* frontend = MakeMockFrontend(); |
920 AppCacheHost* host = MakeHost(1, frontend); | 929 AppCacheHost* host = MakeHost(1, frontend); |
921 update->StartUpdate(host, GURL()); | 930 update->StartUpdate(host, GURL()); |
922 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 931 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
923 | 932 |
924 // Set up checks for when update job finishes. | 933 // Set up checks for when update job finishes. |
925 do_checks_after_update_finished_ = true; | 934 do_checks_after_update_finished_ = true; |
926 expect_group_obsolete_ = false; | 935 expect_group_obsolete_ = false; |
927 expect_group_has_cache_ = false; // treated like cache failure | 936 expect_group_has_cache_ = false; // treated like cache failure |
928 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 937 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
929 CHECKING_EVENT); | 938 CHECKING_EVENT); |
930 | 939 |
931 WaitForUpdateToFinish(); | 940 WaitForUpdateToFinish(); |
932 } | 941 } |
933 | 942 |
934 void UpgradeNotModifiedTest() { | 943 void UpgradeNotModifiedTest() { |
935 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 944 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
936 | 945 |
937 MakeService(); | 946 MakeService(); |
938 group_ = new AppCacheGroup( | 947 group_ = new AppCacheGroup( |
939 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), | 948 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), |
940 service_->storage()->NewGroupId()); | 949 service_->storage()->NewGroupId()); |
941 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 950 AppCacheUpdateJob* update = |
| 951 new AppCacheUpdateJob(service_.get(), group_.get()); |
942 group_->update_job_ = update; | 952 group_->update_job_ = update; |
943 | 953 |
944 AppCache* cache = MakeCacheForGroup(1, 111); | 954 AppCache* cache = MakeCacheForGroup(1, 111); |
945 MockFrontend* frontend1 = MakeMockFrontend(); | 955 MockFrontend* frontend1 = MakeMockFrontend(); |
946 MockFrontend* frontend2 = MakeMockFrontend(); | 956 MockFrontend* frontend2 = MakeMockFrontend(); |
947 AppCacheHost* host1 = MakeHost(1, frontend1); | 957 AppCacheHost* host1 = MakeHost(1, frontend1); |
948 AppCacheHost* host2 = MakeHost(2, frontend2); | 958 AppCacheHost* host2 = MakeHost(2, frontend2); |
949 host1->AssociateCompleteCache(cache); | 959 host1->AssociateCompleteCache(cache); |
950 host2->AssociateCompleteCache(cache); | 960 host2->AssociateCompleteCache(cache); |
951 | 961 |
(...skipping 15 matching lines...) Expand all Loading... |
967 WaitForUpdateToFinish(); | 977 WaitForUpdateToFinish(); |
968 } | 978 } |
969 | 979 |
970 void UpgradeManifestDataUnchangedTest() { | 980 void UpgradeManifestDataUnchangedTest() { |
971 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 981 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
972 | 982 |
973 MakeService(); | 983 MakeService(); |
974 group_ = new AppCacheGroup( | 984 group_ = new AppCacheGroup( |
975 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 985 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
976 service_->storage()->NewGroupId()); | 986 service_->storage()->NewGroupId()); |
977 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 987 AppCacheUpdateJob* update = |
| 988 new AppCacheUpdateJob(service_.get(), group_.get()); |
978 group_->update_job_ = update; | 989 group_->update_job_ = update; |
979 | 990 |
980 // Create response writer to get a response id. | 991 // Create response writer to get a response id. |
981 response_writer_.reset( | 992 response_writer_.reset( |
982 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 993 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
983 group_->group_id())); | 994 group_->group_id())); |
984 | 995 |
985 AppCache* cache = MakeCacheForGroup(1, response_writer_->response_id()); | 996 AppCache* cache = MakeCacheForGroup(1, response_writer_->response_id()); |
986 MockFrontend* frontend1 = MakeMockFrontend(); | 997 MockFrontend* frontend1 = MakeMockFrontend(); |
987 MockFrontend* frontend2 = MakeMockFrontend(); | 998 MockFrontend* frontend2 = MakeMockFrontend(); |
(...skipping 12 matching lines...) Expand all Loading... |
1000 frontend1->AddExpectedEvent(ids1, NO_UPDATE_EVENT); | 1011 frontend1->AddExpectedEvent(ids1, NO_UPDATE_EVENT); |
1001 MockFrontend::HostIds ids2(1, host2->host_id()); | 1012 MockFrontend::HostIds ids2(1, host2->host_id()); |
1002 frontend2->AddExpectedEvent(ids2, CHECKING_EVENT); | 1013 frontend2->AddExpectedEvent(ids2, CHECKING_EVENT); |
1003 frontend2->AddExpectedEvent(ids2, NO_UPDATE_EVENT); | 1014 frontend2->AddExpectedEvent(ids2, NO_UPDATE_EVENT); |
1004 | 1015 |
1005 // Seed storage with expected manifest data. | 1016 // Seed storage with expected manifest data. |
1006 const std::string seed_data(kManifest1Contents); | 1017 const std::string seed_data(kManifest1Contents); |
1007 scoped_refptr<net::StringIOBuffer> io_buffer( | 1018 scoped_refptr<net::StringIOBuffer> io_buffer( |
1008 new net::StringIOBuffer(seed_data)); | 1019 new net::StringIOBuffer(seed_data)); |
1009 response_writer_->WriteData( | 1020 response_writer_->WriteData( |
1010 io_buffer, seed_data.length(), | 1021 io_buffer.get(), |
| 1022 seed_data.length(), |
1011 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 1023 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
1012 base::Unretained(this))); | 1024 base::Unretained(this))); |
1013 | 1025 |
1014 // Start update after data write completes asynchronously. | 1026 // Start update after data write completes asynchronously. |
1015 } | 1027 } |
1016 | 1028 |
1017 // See http://code.google.com/p/chromium/issues/detail?id=95101 | 1029 // See http://code.google.com/p/chromium/issues/detail?id=95101 |
1018 void Bug95101Test() { | 1030 void Bug95101Test() { |
1019 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1031 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1020 | 1032 |
1021 MakeService(); | 1033 MakeService(); |
1022 group_ = new AppCacheGroup( | 1034 group_ = new AppCacheGroup( |
1023 service_->storage(), MockHttpServer::GetMockUrl("files/empty-manifest"), | 1035 service_->storage(), MockHttpServer::GetMockUrl("files/empty-manifest"), |
1024 service_->storage()->NewGroupId()); | 1036 service_->storage()->NewGroupId()); |
1025 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1037 AppCacheUpdateJob* update = |
| 1038 new AppCacheUpdateJob(service_.get(), group_.get()); |
1026 group_->update_job_ = update; | 1039 group_->update_job_ = update; |
1027 | 1040 |
1028 // Create a malformed cache with a missing manifest entry. | 1041 // Create a malformed cache with a missing manifest entry. |
1029 GURL wrong_manifest_url = | 1042 GURL wrong_manifest_url = |
1030 MockHttpServer::GetMockUrl("files/missing-mime-manifest"); | 1043 MockHttpServer::GetMockUrl("files/missing-mime-manifest"); |
1031 AppCache* cache = MakeCacheForGroup(1, wrong_manifest_url, 111); | 1044 AppCache* cache = MakeCacheForGroup(1, wrong_manifest_url, 111); |
1032 MockFrontend* frontend = MakeMockFrontend(); | 1045 MockFrontend* frontend = MakeMockFrontend(); |
1033 AppCacheHost* host = MakeHost(1, frontend); | 1046 AppCacheHost* host = MakeHost(1, frontend); |
1034 host->AssociateCompleteCache(cache); | 1047 host->AssociateCompleteCache(cache); |
1035 | 1048 |
(...skipping 26 matching lines...) Expand all Loading... |
1062 | 1075 |
1063 void BasicCacheAttemptSuccessTest() { | 1076 void BasicCacheAttemptSuccessTest() { |
1064 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1077 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1065 | 1078 |
1066 GURL manifest_url = MockHttpServer::GetMockUrl("files/manifest1"); | 1079 GURL manifest_url = MockHttpServer::GetMockUrl("files/manifest1"); |
1067 | 1080 |
1068 MakeService(); | 1081 MakeService(); |
1069 group_ = new AppCacheGroup( | 1082 group_ = new AppCacheGroup( |
1070 service_->storage(), manifest_url, | 1083 service_->storage(), manifest_url, |
1071 service_->storage()->NewGroupId()); | 1084 service_->storage()->NewGroupId()); |
1072 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1085 AppCacheUpdateJob* update = |
| 1086 new AppCacheUpdateJob(service_.get(), group_.get()); |
1073 group_->update_job_ = update; | 1087 group_->update_job_ = update; |
1074 | 1088 |
1075 MockFrontend* frontend = MakeMockFrontend(); | 1089 MockFrontend* frontend = MakeMockFrontend(); |
1076 AppCacheHost* host = MakeHost(1, frontend); | 1090 AppCacheHost* host = MakeHost(1, frontend); |
1077 update->StartUpdate(host, GURL()); | 1091 update->StartUpdate(host, GURL()); |
1078 | 1092 |
1079 // Set up checks for when update job finishes. | 1093 // Set up checks for when update job finishes. |
1080 do_checks_after_update_finished_ = true; | 1094 do_checks_after_update_finished_ = true; |
1081 expect_group_obsolete_ = false; | 1095 expect_group_obsolete_ = false; |
1082 expect_group_has_cache_ = true; | 1096 expect_group_has_cache_ = true; |
1083 tested_manifest_ = MANIFEST1; | 1097 tested_manifest_ = MANIFEST1; |
1084 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 1098 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
1085 CHECKING_EVENT); | 1099 CHECKING_EVENT); |
1086 | 1100 |
1087 WaitForUpdateToFinish(); | 1101 WaitForUpdateToFinish(); |
1088 } | 1102 } |
1089 | 1103 |
1090 void DownloadInterceptEntriesTest() { | 1104 void DownloadInterceptEntriesTest() { |
1091 // Ensures we download intercept entries too. | 1105 // Ensures we download intercept entries too. |
1092 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1106 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1093 GURL manifest_url = | 1107 GURL manifest_url = |
1094 MockHttpServer::GetMockUrl("files/manifest-with-intercept"); | 1108 MockHttpServer::GetMockUrl("files/manifest-with-intercept"); |
1095 MakeService(); | 1109 MakeService(); |
1096 group_ = new AppCacheGroup( | 1110 group_ = new AppCacheGroup( |
1097 service_->storage(), manifest_url, | 1111 service_->storage(), manifest_url, |
1098 service_->storage()->NewGroupId()); | 1112 service_->storage()->NewGroupId()); |
1099 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1113 AppCacheUpdateJob* update = |
| 1114 new AppCacheUpdateJob(service_.get(), group_.get()); |
1100 group_->update_job_ = update; | 1115 group_->update_job_ = update; |
1101 | 1116 |
1102 MockFrontend* frontend = MakeMockFrontend(); | 1117 MockFrontend* frontend = MakeMockFrontend(); |
1103 AppCacheHost* host = MakeHost(1, frontend); | 1118 AppCacheHost* host = MakeHost(1, frontend); |
1104 update->StartUpdate(host, GURL()); | 1119 update->StartUpdate(host, GURL()); |
1105 | 1120 |
1106 // Set up checks for when update job finishes. | 1121 // Set up checks for when update job finishes. |
1107 do_checks_after_update_finished_ = true; | 1122 do_checks_after_update_finished_ = true; |
1108 expect_group_obsolete_ = false; | 1123 expect_group_obsolete_ = false; |
1109 expect_group_has_cache_ = true; | 1124 expect_group_has_cache_ = true; |
1110 tested_manifest_ = MANIFEST_WITH_INTERCEPT; | 1125 tested_manifest_ = MANIFEST_WITH_INTERCEPT; |
1111 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 1126 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
1112 CHECKING_EVENT); | 1127 CHECKING_EVENT); |
1113 | 1128 |
1114 WaitForUpdateToFinish(); | 1129 WaitForUpdateToFinish(); |
1115 } | 1130 } |
1116 | 1131 |
1117 void BasicUpgradeSuccessTest() { | 1132 void BasicUpgradeSuccessTest() { |
1118 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1133 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1119 | 1134 |
1120 MakeService(); | 1135 MakeService(); |
1121 group_ = new AppCacheGroup( | 1136 group_ = new AppCacheGroup( |
1122 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1137 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1123 service_->storage()->NewGroupId()); | 1138 service_->storage()->NewGroupId()); |
1124 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1139 AppCacheUpdateJob* update = |
| 1140 new AppCacheUpdateJob(service_.get(), group_.get()); |
1125 group_->update_job_ = update; | 1141 group_->update_job_ = update; |
1126 | 1142 |
1127 // Create a response writer to get a response id. | 1143 // Create a response writer to get a response id. |
1128 response_writer_.reset( | 1144 response_writer_.reset( |
1129 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 1145 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
1130 group_->group_id())); | 1146 group_->group_id())); |
1131 | 1147 |
1132 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), | 1148 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), |
1133 response_writer_->response_id()); | 1149 response_writer_->response_id()); |
1134 MockFrontend* frontend1 = MakeMockFrontend(); | 1150 MockFrontend* frontend1 = MakeMockFrontend(); |
(...skipping 24 matching lines...) Expand all Loading... |
1159 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); | 1175 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); |
1160 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); | 1176 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); |
1161 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); // final | 1177 frontend2->AddExpectedEvent(ids2, PROGRESS_EVENT); // final |
1162 frontend2->AddExpectedEvent(ids2, UPDATE_READY_EVENT); | 1178 frontend2->AddExpectedEvent(ids2, UPDATE_READY_EVENT); |
1163 | 1179 |
1164 // Seed storage with expected manifest data different from manifest1. | 1180 // Seed storage with expected manifest data different from manifest1. |
1165 const std::string seed_data("different"); | 1181 const std::string seed_data("different"); |
1166 scoped_refptr<net::StringIOBuffer> io_buffer( | 1182 scoped_refptr<net::StringIOBuffer> io_buffer( |
1167 new net::StringIOBuffer(seed_data)); | 1183 new net::StringIOBuffer(seed_data)); |
1168 response_writer_->WriteData( | 1184 response_writer_->WriteData( |
1169 io_buffer, seed_data.length(), | 1185 io_buffer.get(), |
| 1186 seed_data.length(), |
1170 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 1187 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
1171 base::Unretained(this))); | 1188 base::Unretained(this))); |
1172 | 1189 |
1173 // Start update after data write completes asynchronously. | 1190 // Start update after data write completes asynchronously. |
1174 } | 1191 } |
1175 | 1192 |
1176 void UpgradeLoadFromNewestCacheTest() { | 1193 void UpgradeLoadFromNewestCacheTest() { |
1177 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1194 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1178 | 1195 |
1179 MakeService(); | 1196 MakeService(); |
1180 group_ = new AppCacheGroup( | 1197 group_ = new AppCacheGroup( |
1181 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1198 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1182 service_->storage()->NewGroupId()); | 1199 service_->storage()->NewGroupId()); |
1183 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1200 AppCacheUpdateJob* update = |
| 1201 new AppCacheUpdateJob(service_.get(), group_.get()); |
1184 group_->update_job_ = update; | 1202 group_->update_job_ = update; |
1185 | 1203 |
1186 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 1204 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
1187 MockFrontend* frontend = MakeMockFrontend(); | 1205 MockFrontend* frontend = MakeMockFrontend(); |
1188 AppCacheHost* host = MakeHost(1, frontend); | 1206 AppCacheHost* host = MakeHost(1, frontend); |
1189 host->AssociateCompleteCache(cache); | 1207 host->AssociateCompleteCache(cache); |
1190 | 1208 |
1191 // Give the newest cache an entry that is in storage. | 1209 // Give the newest cache an entry that is in storage. |
1192 response_writer_.reset( | 1210 response_writer_.reset( |
1193 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 1211 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
(...skipping 27 matching lines...) Expand all Loading... |
1221 "\0"; | 1239 "\0"; |
1222 net::HttpResponseHeaders* headers = | 1240 net::HttpResponseHeaders* headers = |
1223 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 1241 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
1224 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 1242 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
1225 response_info->request_time = base::Time::Now(); | 1243 response_info->request_time = base::Time::Now(); |
1226 response_info->response_time = base::Time::Now(); | 1244 response_info->response_time = base::Time::Now(); |
1227 response_info->headers = headers; // adds ref to headers | 1245 response_info->headers = headers; // adds ref to headers |
1228 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( | 1246 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( |
1229 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info | 1247 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info |
1230 response_writer_->WriteInfo( | 1248 response_writer_->WriteInfo( |
1231 io_buffer, | 1249 io_buffer.get(), |
1232 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 1250 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
1233 base::Unretained(this))); | 1251 base::Unretained(this))); |
1234 | 1252 |
1235 // Start update after data write completes asynchronously. | 1253 // Start update after data write completes asynchronously. |
1236 } | 1254 } |
1237 | 1255 |
1238 void UpgradeNoLoadFromNewestCacheTest() { | 1256 void UpgradeNoLoadFromNewestCacheTest() { |
1239 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1257 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1240 | 1258 |
1241 MakeService(); | 1259 MakeService(); |
1242 group_ = new AppCacheGroup( | 1260 group_ = new AppCacheGroup( |
1243 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1261 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1244 service_->storage()->NewGroupId()); | 1262 service_->storage()->NewGroupId()); |
1245 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1263 AppCacheUpdateJob* update = |
| 1264 new AppCacheUpdateJob(service_.get(), group_.get()); |
1246 group_->update_job_ = update; | 1265 group_->update_job_ = update; |
1247 | 1266 |
1248 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 1267 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
1249 MockFrontend* frontend = MakeMockFrontend(); | 1268 MockFrontend* frontend = MakeMockFrontend(); |
1250 AppCacheHost* host = MakeHost(1, frontend); | 1269 AppCacheHost* host = MakeHost(1, frontend); |
1251 host->AssociateCompleteCache(cache); | 1270 host->AssociateCompleteCache(cache); |
1252 | 1271 |
1253 // Give the newest cache an entry that is in storage. | 1272 // Give the newest cache an entry that is in storage. |
1254 response_writer_.reset( | 1273 response_writer_.reset( |
1255 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 1274 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
(...skipping 24 matching lines...) Expand all Loading... |
1280 "\0"; | 1299 "\0"; |
1281 net::HttpResponseHeaders* headers = | 1300 net::HttpResponseHeaders* headers = |
1282 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 1301 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
1283 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 1302 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
1284 response_info->request_time = base::Time::Now(); | 1303 response_info->request_time = base::Time::Now(); |
1285 response_info->response_time = base::Time::Now(); | 1304 response_info->response_time = base::Time::Now(); |
1286 response_info->headers = headers; // adds ref to headers | 1305 response_info->headers = headers; // adds ref to headers |
1287 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( | 1306 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( |
1288 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info | 1307 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info |
1289 response_writer_->WriteInfo( | 1308 response_writer_->WriteInfo( |
1290 io_buffer, | 1309 io_buffer.get(), |
1291 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 1310 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
1292 base::Unretained(this))); | 1311 base::Unretained(this))); |
1293 | 1312 |
1294 // Start update after data write completes asynchronously. | 1313 // Start update after data write completes asynchronously. |
1295 } | 1314 } |
1296 | 1315 |
1297 void UpgradeLoadFromNewestCacheVaryHeaderTest() { | 1316 void UpgradeLoadFromNewestCacheVaryHeaderTest() { |
1298 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1317 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1299 | 1318 |
1300 MakeService(); | 1319 MakeService(); |
1301 group_ = new AppCacheGroup( | 1320 group_ = new AppCacheGroup( |
1302 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1321 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1303 service_->storage()->NewGroupId()); | 1322 service_->storage()->NewGroupId()); |
1304 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1323 AppCacheUpdateJob* update = |
| 1324 new AppCacheUpdateJob(service_.get(), group_.get()); |
1305 group_->update_job_ = update; | 1325 group_->update_job_ = update; |
1306 | 1326 |
1307 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 1327 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
1308 MockFrontend* frontend = MakeMockFrontend(); | 1328 MockFrontend* frontend = MakeMockFrontend(); |
1309 AppCacheHost* host = MakeHost(1, frontend); | 1329 AppCacheHost* host = MakeHost(1, frontend); |
1310 host->AssociateCompleteCache(cache); | 1330 host->AssociateCompleteCache(cache); |
1311 | 1331 |
1312 // Give the newest cache an entry that is in storage. | 1332 // Give the newest cache an entry that is in storage. |
1313 response_writer_.reset( | 1333 response_writer_.reset( |
1314 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 1334 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
(...skipping 24 matching lines...) Expand all Loading... |
1339 "\0"; | 1359 "\0"; |
1340 net::HttpResponseHeaders* headers = | 1360 net::HttpResponseHeaders* headers = |
1341 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 1361 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
1342 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 1362 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
1343 response_info->request_time = base::Time::Now(); | 1363 response_info->request_time = base::Time::Now(); |
1344 response_info->response_time = base::Time::Now(); | 1364 response_info->response_time = base::Time::Now(); |
1345 response_info->headers = headers; // adds ref to headers | 1365 response_info->headers = headers; // adds ref to headers |
1346 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( | 1366 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( |
1347 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info | 1367 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info |
1348 response_writer_->WriteInfo( | 1368 response_writer_->WriteInfo( |
1349 io_buffer, | 1369 io_buffer.get(), |
1350 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 1370 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
1351 base::Unretained(this))); | 1371 base::Unretained(this))); |
1352 | 1372 |
1353 // Start update after data write completes asynchronously. | 1373 // Start update after data write completes asynchronously. |
1354 } | 1374 } |
1355 | 1375 |
1356 void UpgradeSuccessMergedTypesTest() { | 1376 void UpgradeSuccessMergedTypesTest() { |
1357 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1377 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1358 | 1378 |
1359 MakeService(); | 1379 MakeService(); |
1360 group_ = new AppCacheGroup(service_->storage(), | 1380 group_ = new AppCacheGroup(service_->storage(), |
1361 MockHttpServer::GetMockUrl("files/manifest-merged-types"), | 1381 MockHttpServer::GetMockUrl("files/manifest-merged-types"), |
1362 service_->storage()->NewGroupId()); | 1382 service_->storage()->NewGroupId()); |
1363 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1383 AppCacheUpdateJob* update = |
| 1384 new AppCacheUpdateJob(service_.get(), group_.get()); |
1364 group_->update_job_ = update; | 1385 group_->update_job_ = update; |
1365 | 1386 |
1366 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 1387 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
1367 MockFrontend* frontend1 = MakeMockFrontend(); | 1388 MockFrontend* frontend1 = MakeMockFrontend(); |
1368 MockFrontend* frontend2 = MakeMockFrontend(); | 1389 MockFrontend* frontend2 = MakeMockFrontend(); |
1369 AppCacheHost* host1 = MakeHost(1, frontend1); | 1390 AppCacheHost* host1 = MakeHost(1, frontend1); |
1370 AppCacheHost* host2 = MakeHost(2, frontend2); | 1391 AppCacheHost* host2 = MakeHost(2, frontend2); |
1371 host1->AssociateCompleteCache(cache); | 1392 host1->AssociateCompleteCache(cache); |
1372 host2->AssociateCompleteCache(cache); | 1393 host2->AssociateCompleteCache(cache); |
1373 | 1394 |
(...skipping 29 matching lines...) Expand all Loading... |
1403 WaitForUpdateToFinish(); | 1424 WaitForUpdateToFinish(); |
1404 } | 1425 } |
1405 | 1426 |
1406 void CacheAttemptFailUrlFetchTest() { | 1427 void CacheAttemptFailUrlFetchTest() { |
1407 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1428 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1408 | 1429 |
1409 MakeService(); | 1430 MakeService(); |
1410 group_ = new AppCacheGroup(service_->storage(), | 1431 group_ = new AppCacheGroup(service_->storage(), |
1411 MockHttpServer::GetMockUrl("files/manifest-with-404"), | 1432 MockHttpServer::GetMockUrl("files/manifest-with-404"), |
1412 service_->storage()->NewGroupId()); | 1433 service_->storage()->NewGroupId()); |
1413 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1434 AppCacheUpdateJob* update = |
| 1435 new AppCacheUpdateJob(service_.get(), group_.get()); |
1414 group_->update_job_ = update; | 1436 group_->update_job_ = update; |
1415 | 1437 |
1416 MockFrontend* frontend = MakeMockFrontend(); | 1438 MockFrontend* frontend = MakeMockFrontend(); |
1417 AppCacheHost* host = MakeHost(1, frontend); | 1439 AppCacheHost* host = MakeHost(1, frontend); |
1418 update->StartUpdate(host, GURL()); | 1440 update->StartUpdate(host, GURL()); |
1419 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1441 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1420 | 1442 |
1421 // Set up checks for when update job finishes. | 1443 // Set up checks for when update job finishes. |
1422 do_checks_after_update_finished_ = true; | 1444 do_checks_after_update_finished_ = true; |
1423 expect_group_obsolete_ = false; | 1445 expect_group_obsolete_ = false; |
1424 expect_group_has_cache_ = false; // 404 explicit url is cache failure | 1446 expect_group_has_cache_ = false; // 404 explicit url is cache failure |
1425 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 1447 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
1426 CHECKING_EVENT); | 1448 CHECKING_EVENT); |
1427 | 1449 |
1428 WaitForUpdateToFinish(); | 1450 WaitForUpdateToFinish(); |
1429 } | 1451 } |
1430 | 1452 |
1431 void UpgradeFailUrlFetchTest() { | 1453 void UpgradeFailUrlFetchTest() { |
1432 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1454 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1433 | 1455 |
1434 MakeService(); | 1456 MakeService(); |
1435 group_ = new AppCacheGroup(service_->storage(), | 1457 group_ = new AppCacheGroup(service_->storage(), |
1436 MockHttpServer::GetMockUrl("files/manifest-fb-404"), | 1458 MockHttpServer::GetMockUrl("files/manifest-fb-404"), |
1437 service_->storage()->NewGroupId()); | 1459 service_->storage()->NewGroupId()); |
1438 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1460 AppCacheUpdateJob* update = |
| 1461 new AppCacheUpdateJob(service_.get(), group_.get()); |
1439 group_->update_job_ = update; | 1462 group_->update_job_ = update; |
1440 | 1463 |
1441 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 99); | 1464 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 99); |
1442 MockFrontend* frontend1 = MakeMockFrontend(); | 1465 MockFrontend* frontend1 = MakeMockFrontend(); |
1443 MockFrontend* frontend2 = MakeMockFrontend(); | 1466 MockFrontend* frontend2 = MakeMockFrontend(); |
1444 frontend1->SetIgnoreProgressEvents(true); | 1467 frontend1->SetIgnoreProgressEvents(true); |
1445 frontend2->SetIgnoreProgressEvents(true); | 1468 frontend2->SetIgnoreProgressEvents(true); |
1446 AppCacheHost* host1 = MakeHost(1, frontend1); | 1469 AppCacheHost* host1 = MakeHost(1, frontend1); |
1447 AppCacheHost* host2 = MakeHost(2, frontend2); | 1470 AppCacheHost* host2 = MakeHost(2, frontend2); |
1448 host1->AssociateCompleteCache(cache); | 1471 host1->AssociateCompleteCache(cache); |
(...skipping 23 matching lines...) Expand all Loading... |
1472 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1495 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1473 | 1496 |
1474 tested_manifest_path_override_ = "files/manifest1-with-notmodified"; | 1497 tested_manifest_path_override_ = "files/manifest1-with-notmodified"; |
1475 | 1498 |
1476 MakeService(); | 1499 MakeService(); |
1477 const GURL kManifestUrl = | 1500 const GURL kManifestUrl = |
1478 MockHttpServer::GetMockUrl(tested_manifest_path_override_); | 1501 MockHttpServer::GetMockUrl(tested_manifest_path_override_); |
1479 group_ = new AppCacheGroup( | 1502 group_ = new AppCacheGroup( |
1480 service_->storage(), kManifestUrl, | 1503 service_->storage(), kManifestUrl, |
1481 service_->storage()->NewGroupId()); | 1504 service_->storage()->NewGroupId()); |
1482 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1505 AppCacheUpdateJob* update = |
| 1506 new AppCacheUpdateJob(service_.get(), group_.get()); |
1483 group_->update_job_ = update; | 1507 group_->update_job_ = update; |
1484 | 1508 |
1485 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 25); | 1509 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 25); |
1486 MockFrontend* frontend1 = MakeMockFrontend(); | 1510 MockFrontend* frontend1 = MakeMockFrontend(); |
1487 MockFrontend* frontend2 = MakeMockFrontend(); | 1511 MockFrontend* frontend2 = MakeMockFrontend(); |
1488 AppCacheHost* host1 = MakeHost(1, frontend1); | 1512 AppCacheHost* host1 = MakeHost(1, frontend1); |
1489 AppCacheHost* host2 = MakeHost(2, frontend2); | 1513 AppCacheHost* host2 = MakeHost(2, frontend2); |
1490 host1->AssociateCompleteCache(cache); | 1514 host1->AssociateCompleteCache(cache); |
1491 host2->AssociateCompleteCache(cache); | 1515 host2->AssociateCompleteCache(cache); |
1492 | 1516 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1563 WaitForUpdateToFinish(); | 1587 WaitForUpdateToFinish(); |
1564 } | 1588 } |
1565 | 1589 |
1566 void EmptyManifestTest() { | 1590 void EmptyManifestTest() { |
1567 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1591 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1568 | 1592 |
1569 MakeService(); | 1593 MakeService(); |
1570 group_ = new AppCacheGroup( | 1594 group_ = new AppCacheGroup( |
1571 service_->storage(), MockHttpServer::GetMockUrl("files/empty-manifest"), | 1595 service_->storage(), MockHttpServer::GetMockUrl("files/empty-manifest"), |
1572 service_->storage()->NewGroupId()); | 1596 service_->storage()->NewGroupId()); |
1573 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1597 AppCacheUpdateJob* update = |
| 1598 new AppCacheUpdateJob(service_.get(), group_.get()); |
1574 group_->update_job_ = update; | 1599 group_->update_job_ = update; |
1575 | 1600 |
1576 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 33); | 1601 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 33); |
1577 MockFrontend* frontend1 = MakeMockFrontend(); | 1602 MockFrontend* frontend1 = MakeMockFrontend(); |
1578 MockFrontend* frontend2 = MakeMockFrontend(); | 1603 MockFrontend* frontend2 = MakeMockFrontend(); |
1579 AppCacheHost* host1 = MakeHost(1, frontend1); | 1604 AppCacheHost* host1 = MakeHost(1, frontend1); |
1580 AppCacheHost* host2 = MakeHost(2, frontend2); | 1605 AppCacheHost* host2 = MakeHost(2, frontend2); |
1581 host1->AssociateCompleteCache(cache); | 1606 host1->AssociateCompleteCache(cache); |
1582 host2->AssociateCompleteCache(cache); | 1607 host2->AssociateCompleteCache(cache); |
1583 | 1608 |
(...skipping 22 matching lines...) Expand all Loading... |
1606 WaitForUpdateToFinish(); | 1631 WaitForUpdateToFinish(); |
1607 } | 1632 } |
1608 | 1633 |
1609 void EmptyFileTest() { | 1634 void EmptyFileTest() { |
1610 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1635 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1611 | 1636 |
1612 MakeService(); | 1637 MakeService(); |
1613 group_ = new AppCacheGroup(service_->storage(), | 1638 group_ = new AppCacheGroup(service_->storage(), |
1614 MockHttpServer::GetMockUrl("files/empty-file-manifest"), | 1639 MockHttpServer::GetMockUrl("files/empty-file-manifest"), |
1615 service_->storage()->NewGroupId()); | 1640 service_->storage()->NewGroupId()); |
1616 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1641 AppCacheUpdateJob* update = |
| 1642 new AppCacheUpdateJob(service_.get(), group_.get()); |
1617 group_->update_job_ = update; | 1643 group_->update_job_ = update; |
1618 | 1644 |
1619 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 22); | 1645 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 22); |
1620 MockFrontend* frontend = MakeMockFrontend(); | 1646 MockFrontend* frontend = MakeMockFrontend(); |
1621 AppCacheHost* host = MakeHost(1, frontend); | 1647 AppCacheHost* host = MakeHost(1, frontend); |
1622 host->AssociateCompleteCache(cache); | 1648 host->AssociateCompleteCache(cache); |
1623 frontend->SetVerifyProgressEvents(true); | 1649 frontend->SetVerifyProgressEvents(true); |
1624 | 1650 |
1625 update->StartUpdate(host, GURL()); | 1651 update->StartUpdate(host, GURL()); |
1626 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1652 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
(...skipping 21 matching lines...) Expand all Loading... |
1648 RetryRequestTestJob::Initialize(5, RetryRequestTestJob::RETRY_AFTER_0, 4); | 1674 RetryRequestTestJob::Initialize(5, RetryRequestTestJob::RETRY_AFTER_0, 4); |
1649 net::URLRequestJobFactoryImpl* new_factory( | 1675 net::URLRequestJobFactoryImpl* new_factory( |
1650 new net::URLRequestJobFactoryImpl); | 1676 new net::URLRequestJobFactoryImpl); |
1651 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); | 1677 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); |
1652 io_thread_->SetNewJobFactory(new_factory); | 1678 io_thread_->SetNewJobFactory(new_factory); |
1653 | 1679 |
1654 MakeService(); | 1680 MakeService(); |
1655 group_ = new AppCacheGroup(service_->storage(), | 1681 group_ = new AppCacheGroup(service_->storage(), |
1656 RetryRequestTestJob::kRetryUrl, | 1682 RetryRequestTestJob::kRetryUrl, |
1657 service_->storage()->NewGroupId()); | 1683 service_->storage()->NewGroupId()); |
1658 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1684 AppCacheUpdateJob* update = |
| 1685 new AppCacheUpdateJob(service_.get(), group_.get()); |
1659 group_->update_job_ = update; | 1686 group_->update_job_ = update; |
1660 | 1687 |
1661 MockFrontend* frontend = MakeMockFrontend(); | 1688 MockFrontend* frontend = MakeMockFrontend(); |
1662 AppCacheHost* host = MakeHost(1, frontend); | 1689 AppCacheHost* host = MakeHost(1, frontend); |
1663 update->StartUpdate(host, GURL()); | 1690 update->StartUpdate(host, GURL()); |
1664 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1691 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1665 | 1692 |
1666 // Set up checks for when update job finishes. | 1693 // Set up checks for when update job finishes. |
1667 do_checks_after_update_finished_ = true; | 1694 do_checks_after_update_finished_ = true; |
1668 expect_group_obsolete_ = false; | 1695 expect_group_obsolete_ = false; |
(...skipping 12 matching lines...) Expand all Loading... |
1681 RetryRequestTestJob::Initialize(5, RetryRequestTestJob::NO_RETRY_AFTER, 1); | 1708 RetryRequestTestJob::Initialize(5, RetryRequestTestJob::NO_RETRY_AFTER, 1); |
1682 net::URLRequestJobFactoryImpl* new_factory( | 1709 net::URLRequestJobFactoryImpl* new_factory( |
1683 new net::URLRequestJobFactoryImpl); | 1710 new net::URLRequestJobFactoryImpl); |
1684 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); | 1711 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); |
1685 io_thread_->SetNewJobFactory(new_factory); | 1712 io_thread_->SetNewJobFactory(new_factory); |
1686 | 1713 |
1687 MakeService(); | 1714 MakeService(); |
1688 group_ = new AppCacheGroup(service_->storage(), | 1715 group_ = new AppCacheGroup(service_->storage(), |
1689 RetryRequestTestJob::kRetryUrl, | 1716 RetryRequestTestJob::kRetryUrl, |
1690 service_->storage()->NewGroupId()); | 1717 service_->storage()->NewGroupId()); |
1691 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1718 AppCacheUpdateJob* update = |
| 1719 new AppCacheUpdateJob(service_.get(), group_.get()); |
1692 group_->update_job_ = update; | 1720 group_->update_job_ = update; |
1693 | 1721 |
1694 MockFrontend* frontend = MakeMockFrontend(); | 1722 MockFrontend* frontend = MakeMockFrontend(); |
1695 AppCacheHost* host = MakeHost(1, frontend); | 1723 AppCacheHost* host = MakeHost(1, frontend); |
1696 update->StartUpdate(host, GURL()); | 1724 update->StartUpdate(host, GURL()); |
1697 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1725 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1698 | 1726 |
1699 // Set up checks for when update job finishes. | 1727 // Set up checks for when update job finishes. |
1700 do_checks_after_update_finished_ = true; | 1728 do_checks_after_update_finished_ = true; |
1701 expect_group_obsolete_ = false; | 1729 expect_group_obsolete_ = false; |
(...skipping 13 matching lines...) Expand all Loading... |
1715 5, RetryRequestTestJob::NONZERO_RETRY_AFTER, 1); | 1743 5, RetryRequestTestJob::NONZERO_RETRY_AFTER, 1); |
1716 net::URLRequestJobFactoryImpl* new_factory( | 1744 net::URLRequestJobFactoryImpl* new_factory( |
1717 new net::URLRequestJobFactoryImpl); | 1745 new net::URLRequestJobFactoryImpl); |
1718 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); | 1746 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); |
1719 io_thread_->SetNewJobFactory(new_factory); | 1747 io_thread_->SetNewJobFactory(new_factory); |
1720 | 1748 |
1721 MakeService(); | 1749 MakeService(); |
1722 group_ = new AppCacheGroup(service_->storage(), | 1750 group_ = new AppCacheGroup(service_->storage(), |
1723 RetryRequestTestJob::kRetryUrl, | 1751 RetryRequestTestJob::kRetryUrl, |
1724 service_->storage()->NewGroupId()); | 1752 service_->storage()->NewGroupId()); |
1725 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1753 AppCacheUpdateJob* update = |
| 1754 new AppCacheUpdateJob(service_.get(), group_.get()); |
1726 group_->update_job_ = update; | 1755 group_->update_job_ = update; |
1727 | 1756 |
1728 MockFrontend* frontend = MakeMockFrontend(); | 1757 MockFrontend* frontend = MakeMockFrontend(); |
1729 AppCacheHost* host = MakeHost(1, frontend); | 1758 AppCacheHost* host = MakeHost(1, frontend); |
1730 update->StartUpdate(host, GURL()); | 1759 update->StartUpdate(host, GURL()); |
1731 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1760 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1732 | 1761 |
1733 // Set up checks for when update job finishes. | 1762 // Set up checks for when update job finishes. |
1734 do_checks_after_update_finished_ = true; | 1763 do_checks_after_update_finished_ = true; |
1735 expect_group_obsolete_ = false; | 1764 expect_group_obsolete_ = false; |
(...skipping 12 matching lines...) Expand all Loading... |
1748 RetryRequestTestJob::Initialize(2, RetryRequestTestJob::RETRY_AFTER_0, 5); | 1777 RetryRequestTestJob::Initialize(2, RetryRequestTestJob::RETRY_AFTER_0, 5); |
1749 net::URLRequestJobFactoryImpl* new_factory( | 1778 net::URLRequestJobFactoryImpl* new_factory( |
1750 new net::URLRequestJobFactoryImpl); | 1779 new net::URLRequestJobFactoryImpl); |
1751 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); | 1780 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); |
1752 io_thread_->SetNewJobFactory(new_factory); | 1781 io_thread_->SetNewJobFactory(new_factory); |
1753 | 1782 |
1754 MakeService(); | 1783 MakeService(); |
1755 group_ = new AppCacheGroup(service_->storage(), | 1784 group_ = new AppCacheGroup(service_->storage(), |
1756 RetryRequestTestJob::kRetryUrl, | 1785 RetryRequestTestJob::kRetryUrl, |
1757 service_->storage()->NewGroupId()); | 1786 service_->storage()->NewGroupId()); |
1758 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1787 AppCacheUpdateJob* update = |
| 1788 new AppCacheUpdateJob(service_.get(), group_.get()); |
1759 group_->update_job_ = update; | 1789 group_->update_job_ = update; |
1760 | 1790 |
1761 MockFrontend* frontend = MakeMockFrontend(); | 1791 MockFrontend* frontend = MakeMockFrontend(); |
1762 AppCacheHost* host = MakeHost(1, frontend); | 1792 AppCacheHost* host = MakeHost(1, frontend); |
1763 update->StartUpdate(host, GURL()); | 1793 update->StartUpdate(host, GURL()); |
1764 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1794 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1765 | 1795 |
1766 // Set up checks for when update job finishes. | 1796 // Set up checks for when update job finishes. |
1767 do_checks_after_update_finished_ = true; | 1797 do_checks_after_update_finished_ = true; |
1768 expect_group_obsolete_ = false; | 1798 expect_group_obsolete_ = false; |
(...skipping 11 matching lines...) Expand all Loading... |
1780 // Expect 1 manifest fetch, 1 url fetch, 1 url retry, 1 manifest refetch. | 1810 // Expect 1 manifest fetch, 1 url fetch, 1 url retry, 1 manifest refetch. |
1781 RetryRequestTestJob::Initialize(1, RetryRequestTestJob::RETRY_AFTER_0, 4); | 1811 RetryRequestTestJob::Initialize(1, RetryRequestTestJob::RETRY_AFTER_0, 4); |
1782 net::URLRequestJobFactoryImpl* new_factory( | 1812 net::URLRequestJobFactoryImpl* new_factory( |
1783 new net::URLRequestJobFactoryImpl); | 1813 new net::URLRequestJobFactoryImpl); |
1784 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); | 1814 new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory); |
1785 io_thread_->SetNewJobFactory(new_factory); | 1815 io_thread_->SetNewJobFactory(new_factory); |
1786 | 1816 |
1787 MakeService(); | 1817 MakeService(); |
1788 group_ = new AppCacheGroup(service_->storage(), GURL("http://retryurl"), | 1818 group_ = new AppCacheGroup(service_->storage(), GURL("http://retryurl"), |
1789 service_->storage()->NewGroupId()); | 1819 service_->storage()->NewGroupId()); |
1790 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1820 AppCacheUpdateJob* update = |
| 1821 new AppCacheUpdateJob(service_.get(), group_.get()); |
1791 group_->update_job_ = update; | 1822 group_->update_job_ = update; |
1792 | 1823 |
1793 MockFrontend* frontend = MakeMockFrontend(); | 1824 MockFrontend* frontend = MakeMockFrontend(); |
1794 AppCacheHost* host = MakeHost(1, frontend); | 1825 AppCacheHost* host = MakeHost(1, frontend); |
1795 update->StartUpdate(host, GURL()); | 1826 update->StartUpdate(host, GURL()); |
1796 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 1827 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1797 | 1828 |
1798 // Set up checks for when update job finishes. | 1829 // Set up checks for when update job finishes. |
1799 do_checks_after_update_finished_ = true; | 1830 do_checks_after_update_finished_ = true; |
1800 expect_group_obsolete_ = false; | 1831 expect_group_obsolete_ = false; |
1801 expect_group_has_cache_ = true; | 1832 expect_group_has_cache_ = true; |
1802 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 1833 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
1803 CHECKING_EVENT); | 1834 CHECKING_EVENT); |
1804 | 1835 |
1805 WaitForUpdateToFinish(); | 1836 WaitForUpdateToFinish(); |
1806 } | 1837 } |
1807 | 1838 |
1808 void FailStoreNewestCacheTest() { | 1839 void FailStoreNewestCacheTest() { |
1809 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1840 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1810 | 1841 |
1811 MakeService(); | 1842 MakeService(); |
1812 MockAppCacheStorage* storage = | 1843 MockAppCacheStorage* storage = |
1813 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); | 1844 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); |
1814 storage->SimulateStoreGroupAndNewestCacheFailure(); | 1845 storage->SimulateStoreGroupAndNewestCacheFailure(); |
1815 | 1846 |
1816 group_ = new AppCacheGroup( | 1847 group_ = new AppCacheGroup( |
1817 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1848 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1818 service_->storage()->NewGroupId()); | 1849 service_->storage()->NewGroupId()); |
1819 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1850 AppCacheUpdateJob* update = |
| 1851 new AppCacheUpdateJob(service_.get(), group_.get()); |
1820 group_->update_job_ = update; | 1852 group_->update_job_ = update; |
1821 | 1853 |
1822 MockFrontend* frontend = MakeMockFrontend(); | 1854 MockFrontend* frontend = MakeMockFrontend(); |
1823 AppCacheHost* host = MakeHost(1, frontend); | 1855 AppCacheHost* host = MakeHost(1, frontend); |
1824 update->StartUpdate(host, GURL()); | 1856 update->StartUpdate(host, GURL()); |
1825 | 1857 |
1826 // Set up checks for when update job finishes. | 1858 // Set up checks for when update job finishes. |
1827 do_checks_after_update_finished_ = true; | 1859 do_checks_after_update_finished_ = true; |
1828 expect_group_obsolete_ = false; | 1860 expect_group_obsolete_ = false; |
1829 expect_group_has_cache_ = false; // storage failed | 1861 expect_group_has_cache_ = false; // storage failed |
1830 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), | 1862 frontend->AddExpectedEvent(MockFrontend::HostIds(1, host->host_id()), |
1831 CHECKING_EVENT); | 1863 CHECKING_EVENT); |
1832 | 1864 |
1833 WaitForUpdateToFinish(); | 1865 WaitForUpdateToFinish(); |
1834 } | 1866 } |
1835 | 1867 |
1836 void UpgradeFailStoreNewestCacheTest() { | 1868 void UpgradeFailStoreNewestCacheTest() { |
1837 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1869 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1838 | 1870 |
1839 MakeService(); | 1871 MakeService(); |
1840 MockAppCacheStorage* storage = | 1872 MockAppCacheStorage* storage = |
1841 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); | 1873 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); |
1842 storage->SimulateStoreGroupAndNewestCacheFailure(); | 1874 storage->SimulateStoreGroupAndNewestCacheFailure(); |
1843 | 1875 |
1844 group_ = new AppCacheGroup( | 1876 group_ = new AppCacheGroup( |
1845 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 1877 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
1846 service_->storage()->NewGroupId()); | 1878 service_->storage()->NewGroupId()); |
1847 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1879 AppCacheUpdateJob* update = |
| 1880 new AppCacheUpdateJob(service_.get(), group_.get()); |
1848 group_->update_job_ = update; | 1881 group_->update_job_ = update; |
1849 | 1882 |
1850 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 11); | 1883 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 11); |
1851 MockFrontend* frontend1 = MakeMockFrontend(); | 1884 MockFrontend* frontend1 = MakeMockFrontend(); |
1852 MockFrontend* frontend2 = MakeMockFrontend(); | 1885 MockFrontend* frontend2 = MakeMockFrontend(); |
1853 AppCacheHost* host1 = MakeHost(1, frontend1); | 1886 AppCacheHost* host1 = MakeHost(1, frontend1); |
1854 AppCacheHost* host2 = MakeHost(2, frontend2); | 1887 AppCacheHost* host2 = MakeHost(2, frontend2); |
1855 host1->AssociateCompleteCache(cache); | 1888 host1->AssociateCompleteCache(cache); |
1856 host2->AssociateCompleteCache(cache); | 1889 host2->AssociateCompleteCache(cache); |
1857 | 1890 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1912 host->first_party_url_ = kManifestUrl; | 1945 host->first_party_url_ = kManifestUrl; |
1913 host->SelectCache(MockHttpServer::GetMockUrl("files/empty1"), | 1946 host->SelectCache(MockHttpServer::GetMockUrl("files/empty1"), |
1914 kNoCacheId, kManifestUrl); | 1947 kNoCacheId, kManifestUrl); |
1915 | 1948 |
1916 // Set up checks for when update job finishes. | 1949 // Set up checks for when update job finishes. |
1917 do_checks_after_update_finished_ = true; | 1950 do_checks_after_update_finished_ = true; |
1918 tested_manifest_ = EMPTY_MANIFEST; | 1951 tested_manifest_ = EMPTY_MANIFEST; |
1919 tested_manifest_path_override_ = "files/notmodified"; | 1952 tested_manifest_path_override_ = "files/notmodified"; |
1920 expect_group_obsolete_ = false; | 1953 expect_group_obsolete_ = false; |
1921 expect_group_has_cache_ = true; | 1954 expect_group_has_cache_ = true; |
1922 expect_newest_cache_ = cache; // unchanged | 1955 expect_newest_cache_ = cache.get(); // unchanged |
1923 MockFrontend::HostIds ids1(1, host->host_id()); | 1956 MockFrontend::HostIds ids1(1, host->host_id()); |
1924 frontend->AddExpectedEvent(ids1, ERROR_EVENT); | 1957 frontend->AddExpectedEvent(ids1, ERROR_EVENT); |
1925 frontend->expected_error_message_ = | 1958 frontend->expected_error_message_ = |
1926 "Failed to commit new cache to storage"; | 1959 "Failed to commit new cache to storage"; |
1927 | 1960 |
1928 WaitForUpdateToFinish(); | 1961 WaitForUpdateToFinish(); |
1929 } | 1962 } |
1930 | 1963 |
1931 void UpgradeFailMakeGroupObsoleteTest() { | 1964 void UpgradeFailMakeGroupObsoleteTest() { |
1932 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 1965 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1933 | 1966 |
1934 MakeService(); | 1967 MakeService(); |
1935 MockAppCacheStorage* storage = | 1968 MockAppCacheStorage* storage = |
1936 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); | 1969 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); |
1937 storage->SimulateMakeGroupObsoleteFailure(); | 1970 storage->SimulateMakeGroupObsoleteFailure(); |
1938 | 1971 |
1939 group_ = new AppCacheGroup( | 1972 group_ = new AppCacheGroup( |
1940 service_->storage(), MockHttpServer::GetMockUrl("files/nosuchfile"), | 1973 service_->storage(), MockHttpServer::GetMockUrl("files/nosuchfile"), |
1941 service_->storage()->NewGroupId()); | 1974 service_->storage()->NewGroupId()); |
1942 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 1975 AppCacheUpdateJob* update = |
| 1976 new AppCacheUpdateJob(service_.get(), group_.get()); |
1943 group_->update_job_ = update; | 1977 group_->update_job_ = update; |
1944 | 1978 |
1945 AppCache* cache = MakeCacheForGroup(1, 111); | 1979 AppCache* cache = MakeCacheForGroup(1, 111); |
1946 MockFrontend* frontend1 = MakeMockFrontend(); | 1980 MockFrontend* frontend1 = MakeMockFrontend(); |
1947 MockFrontend* frontend2 = MakeMockFrontend(); | 1981 MockFrontend* frontend2 = MakeMockFrontend(); |
1948 AppCacheHost* host1 = MakeHost(1, frontend1); | 1982 AppCacheHost* host1 = MakeHost(1, frontend1); |
1949 AppCacheHost* host2 = MakeHost(2, frontend2); | 1983 AppCacheHost* host2 = MakeHost(2, frontend2); |
1950 host1->AssociateCompleteCache(cache); | 1984 host1->AssociateCompleteCache(cache); |
1951 host2->AssociateCompleteCache(cache); | 1985 host2->AssociateCompleteCache(cache); |
1952 | 1986 |
(...skipping 13 matching lines...) Expand all Loading... |
1966 frontend2->AddExpectedEvent(ids2, ERROR_EVENT); | 2000 frontend2->AddExpectedEvent(ids2, ERROR_EVENT); |
1967 | 2001 |
1968 WaitForUpdateToFinish(); | 2002 WaitForUpdateToFinish(); |
1969 } | 2003 } |
1970 | 2004 |
1971 void MasterEntryFetchManifestFailTest() { | 2005 void MasterEntryFetchManifestFailTest() { |
1972 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2006 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
1973 | 2007 |
1974 MakeService(); | 2008 MakeService(); |
1975 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), 111); | 2009 group_ = new AppCacheGroup(service_->storage(), GURL("http://failme"), 111); |
1976 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2010 AppCacheUpdateJob* update = |
| 2011 new AppCacheUpdateJob(service_.get(), group_.get()); |
1977 group_->update_job_ = update; | 2012 group_->update_job_ = update; |
1978 | 2013 |
1979 MockFrontend* frontend = MakeMockFrontend(); | 2014 MockFrontend* frontend = MakeMockFrontend(); |
1980 AppCacheHost* host = MakeHost(1, frontend); | 2015 AppCacheHost* host = MakeHost(1, frontend); |
1981 host->new_master_entry_url_ = GURL("http://failme/blah"); | 2016 host->new_master_entry_url_ = GURL("http://failme/blah"); |
1982 update->StartUpdate(host, host->new_master_entry_url_); | 2017 update->StartUpdate(host, host->new_master_entry_url_); |
1983 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 2018 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
1984 | 2019 |
1985 update->manifest_fetcher_->request()->CancelWithError(-100); | 2020 update->manifest_fetcher_->request()->CancelWithError(-100); |
1986 | 2021 |
1987 // Set up checks for when update job finishes. | 2022 // Set up checks for when update job finishes. |
1988 do_checks_after_update_finished_ = true; | 2023 do_checks_after_update_finished_ = true; |
1989 expect_group_obsolete_ = false; | 2024 expect_group_obsolete_ = false; |
1990 expect_group_has_cache_ = false; | 2025 expect_group_has_cache_ = false; |
1991 MockFrontend::HostIds ids1(1, host->host_id()); | 2026 MockFrontend::HostIds ids1(1, host->host_id()); |
1992 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); | 2027 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); |
1993 frontend->AddExpectedEvent(ids1, ERROR_EVENT); | 2028 frontend->AddExpectedEvent(ids1, ERROR_EVENT); |
1994 | 2029 |
1995 WaitForUpdateToFinish(); | 2030 WaitForUpdateToFinish(); |
1996 } | 2031 } |
1997 | 2032 |
1998 void MasterEntryBadManifestTest() { | 2033 void MasterEntryBadManifestTest() { |
1999 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2034 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2000 | 2035 |
2001 MakeService(); | 2036 MakeService(); |
2002 group_ = new AppCacheGroup(service_->storage(), | 2037 group_ = new AppCacheGroup(service_->storage(), |
2003 MockHttpServer::GetMockUrl("files/bad-manifest"), 111); | 2038 MockHttpServer::GetMockUrl("files/bad-manifest"), 111); |
2004 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2039 AppCacheUpdateJob* update = |
| 2040 new AppCacheUpdateJob(service_.get(), group_.get()); |
2005 group_->update_job_ = update; | 2041 group_->update_job_ = update; |
2006 | 2042 |
2007 MockFrontend* frontend = MakeMockFrontend(); | 2043 MockFrontend* frontend = MakeMockFrontend(); |
2008 AppCacheHost* host = MakeHost(1, frontend); | 2044 AppCacheHost* host = MakeHost(1, frontend); |
2009 host->new_master_entry_url_ = MockHttpServer::GetMockUrl("files/blah"); | 2045 host->new_master_entry_url_ = MockHttpServer::GetMockUrl("files/blah"); |
2010 update->StartUpdate(host, host->new_master_entry_url_); | 2046 update->StartUpdate(host, host->new_master_entry_url_); |
2011 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 2047 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
2012 | 2048 |
2013 // Set up checks for when update job finishes. | 2049 // Set up checks for when update job finishes. |
2014 do_checks_after_update_finished_ = true; | 2050 do_checks_after_update_finished_ = true; |
2015 expect_group_obsolete_ = false; | 2051 expect_group_obsolete_ = false; |
2016 expect_group_has_cache_ = false; | 2052 expect_group_has_cache_ = false; |
2017 MockFrontend::HostIds ids1(1, host->host_id()); | 2053 MockFrontend::HostIds ids1(1, host->host_id()); |
2018 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); | 2054 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); |
2019 frontend->AddExpectedEvent(ids1, ERROR_EVENT); | 2055 frontend->AddExpectedEvent(ids1, ERROR_EVENT); |
2020 | 2056 |
2021 WaitForUpdateToFinish(); | 2057 WaitForUpdateToFinish(); |
2022 } | 2058 } |
2023 | 2059 |
2024 void MasterEntryManifestNotFoundTest() { | 2060 void MasterEntryManifestNotFoundTest() { |
2025 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2061 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2026 | 2062 |
2027 MakeService(); | 2063 MakeService(); |
2028 group_ = new AppCacheGroup( | 2064 group_ = new AppCacheGroup( |
2029 service_->storage(), | 2065 service_->storage(), |
2030 MockHttpServer::GetMockUrl("files/nosuchfile"), | 2066 MockHttpServer::GetMockUrl("files/nosuchfile"), |
2031 111); | 2067 111); |
2032 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2068 AppCacheUpdateJob* update = |
| 2069 new AppCacheUpdateJob(service_.get(), group_.get()); |
2033 group_->update_job_ = update; | 2070 group_->update_job_ = update; |
2034 | 2071 |
2035 MockFrontend* frontend = MakeMockFrontend(); | 2072 MockFrontend* frontend = MakeMockFrontend(); |
2036 AppCacheHost* host = MakeHost(1, frontend); | 2073 AppCacheHost* host = MakeHost(1, frontend); |
2037 host->new_master_entry_url_ = MockHttpServer::GetMockUrl("files/blah"); | 2074 host->new_master_entry_url_ = MockHttpServer::GetMockUrl("files/blah"); |
2038 | 2075 |
2039 update->StartUpdate(host, host->new_master_entry_url_); | 2076 update->StartUpdate(host, host->new_master_entry_url_); |
2040 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 2077 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
2041 | 2078 |
2042 // Set up checks for when update job finishes. | 2079 // Set up checks for when update job finishes. |
2043 do_checks_after_update_finished_ = true; | 2080 do_checks_after_update_finished_ = true; |
2044 expect_group_obsolete_ = false; | 2081 expect_group_obsolete_ = false; |
2045 expect_group_has_cache_ = false; | 2082 expect_group_has_cache_ = false; |
2046 MockFrontend::HostIds ids1(1, host->host_id()); | 2083 MockFrontend::HostIds ids1(1, host->host_id()); |
2047 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); | 2084 frontend->AddExpectedEvent(ids1, CHECKING_EVENT); |
2048 frontend->AddExpectedEvent(ids1, ERROR_EVENT); | 2085 frontend->AddExpectedEvent(ids1, ERROR_EVENT); |
2049 | 2086 |
2050 WaitForUpdateToFinish(); | 2087 WaitForUpdateToFinish(); |
2051 } | 2088 } |
2052 | 2089 |
2053 void MasterEntryFailUrlFetchTest() { | 2090 void MasterEntryFailUrlFetchTest() { |
2054 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2091 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2055 | 2092 |
2056 MakeService(); | 2093 MakeService(); |
2057 group_ = new AppCacheGroup(service_->storage(), | 2094 group_ = new AppCacheGroup(service_->storage(), |
2058 MockHttpServer::GetMockUrl("files/manifest-fb-404"), 111); | 2095 MockHttpServer::GetMockUrl("files/manifest-fb-404"), 111); |
2059 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2096 AppCacheUpdateJob* update = |
| 2097 new AppCacheUpdateJob(service_.get(), group_.get()); |
2060 group_->update_job_ = update; | 2098 group_->update_job_ = update; |
2061 | 2099 |
2062 MockFrontend* frontend = MakeMockFrontend(); | 2100 MockFrontend* frontend = MakeMockFrontend(); |
2063 frontend->SetIgnoreProgressEvents(true); | 2101 frontend->SetIgnoreProgressEvents(true); |
2064 AppCacheHost* host = MakeHost(1, frontend); | 2102 AppCacheHost* host = MakeHost(1, frontend); |
2065 host->new_master_entry_url_ = | 2103 host->new_master_entry_url_ = |
2066 MockHttpServer::GetMockUrl("files/explicit1"); | 2104 MockHttpServer::GetMockUrl("files/explicit1"); |
2067 | 2105 |
2068 update->StartUpdate(host, host->new_master_entry_url_); | 2106 update->StartUpdate(host, host->new_master_entry_url_); |
2069 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 2107 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
(...skipping 11 matching lines...) Expand all Loading... |
2081 } | 2119 } |
2082 | 2120 |
2083 void MasterEntryAllFailTest() { | 2121 void MasterEntryAllFailTest() { |
2084 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2122 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2085 | 2123 |
2086 MakeService(); | 2124 MakeService(); |
2087 group_ = new AppCacheGroup( | 2125 group_ = new AppCacheGroup( |
2088 service_->storage(), | 2126 service_->storage(), |
2089 MockHttpServer::GetMockUrl("files/manifest1"), | 2127 MockHttpServer::GetMockUrl("files/manifest1"), |
2090 111); | 2128 111); |
2091 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2129 AppCacheUpdateJob* update = |
| 2130 new AppCacheUpdateJob(service_.get(), group_.get()); |
2092 group_->update_job_ = update; | 2131 group_->update_job_ = update; |
2093 | 2132 |
2094 MockFrontend* frontend1 = MakeMockFrontend(); | 2133 MockFrontend* frontend1 = MakeMockFrontend(); |
2095 frontend1->SetIgnoreProgressEvents(true); | 2134 frontend1->SetIgnoreProgressEvents(true); |
2096 AppCacheHost* host1 = MakeHost(1, frontend1); | 2135 AppCacheHost* host1 = MakeHost(1, frontend1); |
2097 host1->new_master_entry_url_ = | 2136 host1->new_master_entry_url_ = |
2098 MockHttpServer::GetMockUrl("files/nosuchfile"); | 2137 MockHttpServer::GetMockUrl("files/nosuchfile"); |
2099 update->StartUpdate(host1, host1->new_master_entry_url_); | 2138 update->StartUpdate(host1, host1->new_master_entry_url_); |
2100 | 2139 |
2101 MockFrontend* frontend2 = MakeMockFrontend(); | 2140 MockFrontend* frontend2 = MakeMockFrontend(); |
(...skipping 20 matching lines...) Expand all Loading... |
2122 } | 2161 } |
2123 | 2162 |
2124 void UpgradeMasterEntryAllFailTest() { | 2163 void UpgradeMasterEntryAllFailTest() { |
2125 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2164 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2126 | 2165 |
2127 MakeService(); | 2166 MakeService(); |
2128 group_ = new AppCacheGroup( | 2167 group_ = new AppCacheGroup( |
2129 service_->storage(), | 2168 service_->storage(), |
2130 MockHttpServer::GetMockUrl("files/manifest1"), | 2169 MockHttpServer::GetMockUrl("files/manifest1"), |
2131 111); | 2170 111); |
2132 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2171 AppCacheUpdateJob* update = |
| 2172 new AppCacheUpdateJob(service_.get(), group_.get()); |
2133 group_->update_job_ = update; | 2173 group_->update_job_ = update; |
2134 | 2174 |
2135 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 2175 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
2136 MockFrontend* frontend1 = MakeMockFrontend(); | 2176 MockFrontend* frontend1 = MakeMockFrontend(); |
2137 AppCacheHost* host1 = MakeHost(1, frontend1); | 2177 AppCacheHost* host1 = MakeHost(1, frontend1); |
2138 host1->AssociateCompleteCache(cache); | 2178 host1->AssociateCompleteCache(cache); |
2139 | 2179 |
2140 MockFrontend* frontend2 = MakeMockFrontend(); | 2180 MockFrontend* frontend2 = MakeMockFrontend(); |
2141 frontend2->SetIgnoreProgressEvents(true); | 2181 frontend2->SetIgnoreProgressEvents(true); |
2142 AppCacheHost* host2 = MakeHost(2, frontend2); | 2182 AppCacheHost* host2 = MakeHost(2, frontend2); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2176 } | 2216 } |
2177 | 2217 |
2178 void MasterEntrySomeFailTest() { | 2218 void MasterEntrySomeFailTest() { |
2179 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2219 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2180 | 2220 |
2181 MakeService(); | 2221 MakeService(); |
2182 group_ = new AppCacheGroup( | 2222 group_ = new AppCacheGroup( |
2183 service_->storage(), | 2223 service_->storage(), |
2184 MockHttpServer::GetMockUrl("files/manifest1"), | 2224 MockHttpServer::GetMockUrl("files/manifest1"), |
2185 111); | 2225 111); |
2186 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2226 AppCacheUpdateJob* update = |
| 2227 new AppCacheUpdateJob(service_.get(), group_.get()); |
2187 group_->update_job_ = update; | 2228 group_->update_job_ = update; |
2188 | 2229 |
2189 MockFrontend* frontend1 = MakeMockFrontend(); | 2230 MockFrontend* frontend1 = MakeMockFrontend(); |
2190 frontend1->SetIgnoreProgressEvents(true); | 2231 frontend1->SetIgnoreProgressEvents(true); |
2191 AppCacheHost* host1 = MakeHost(1, frontend1); | 2232 AppCacheHost* host1 = MakeHost(1, frontend1); |
2192 host1->new_master_entry_url_ = | 2233 host1->new_master_entry_url_ = |
2193 MockHttpServer::GetMockUrl("files/nosuchfile"); | 2234 MockHttpServer::GetMockUrl("files/nosuchfile"); |
2194 update->StartUpdate(host1, host1->new_master_entry_url_); | 2235 update->StartUpdate(host1, host1->new_master_entry_url_); |
2195 | 2236 |
2196 MockFrontend* frontend2 = MakeMockFrontend(); | 2237 MockFrontend* frontend2 = MakeMockFrontend(); |
(...skipping 26 matching lines...) Expand all Loading... |
2223 } | 2264 } |
2224 | 2265 |
2225 void UpgradeMasterEntrySomeFailTest() { | 2266 void UpgradeMasterEntrySomeFailTest() { |
2226 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2267 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2227 | 2268 |
2228 MakeService(); | 2269 MakeService(); |
2229 group_ = new AppCacheGroup( | 2270 group_ = new AppCacheGroup( |
2230 service_->storage(), | 2271 service_->storage(), |
2231 MockHttpServer::GetMockUrl("files/manifest1"), | 2272 MockHttpServer::GetMockUrl("files/manifest1"), |
2232 111); | 2273 111); |
2233 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2274 AppCacheUpdateJob* update = |
| 2275 new AppCacheUpdateJob(service_.get(), group_.get()); |
2234 group_->update_job_ = update; | 2276 group_->update_job_ = update; |
2235 | 2277 |
2236 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 2278 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
2237 MockFrontend* frontend1 = MakeMockFrontend(); | 2279 MockFrontend* frontend1 = MakeMockFrontend(); |
2238 AppCacheHost* host1 = MakeHost(1, frontend1); | 2280 AppCacheHost* host1 = MakeHost(1, frontend1); |
2239 host1->AssociateCompleteCache(cache); | 2281 host1->AssociateCompleteCache(cache); |
2240 | 2282 |
2241 MockFrontend* frontend2 = MakeMockFrontend(); | 2283 MockFrontend* frontend2 = MakeMockFrontend(); |
2242 frontend2->SetIgnoreProgressEvents(true); | 2284 frontend2->SetIgnoreProgressEvents(true); |
2243 AppCacheHost* host2 = MakeHost(2, frontend2); | 2285 AppCacheHost* host2 = MakeHost(2, frontend2); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2280 | 2322 |
2281 WaitForUpdateToFinish(); | 2323 WaitForUpdateToFinish(); |
2282 } | 2324 } |
2283 | 2325 |
2284 void MasterEntryNoUpdateTest() { | 2326 void MasterEntryNoUpdateTest() { |
2285 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2327 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2286 | 2328 |
2287 MakeService(); | 2329 MakeService(); |
2288 group_ = new AppCacheGroup(service_->storage(), | 2330 group_ = new AppCacheGroup(service_->storage(), |
2289 MockHttpServer::GetMockUrl("files/notmodified"), 111); | 2331 MockHttpServer::GetMockUrl("files/notmodified"), 111); |
2290 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2332 AppCacheUpdateJob* update = |
| 2333 new AppCacheUpdateJob(service_.get(), group_.get()); |
2291 group_->update_job_ = update; | 2334 group_->update_job_ = update; |
2292 | 2335 |
2293 AppCache* cache = MakeCacheForGroup(1, 111); | 2336 AppCache* cache = MakeCacheForGroup(1, 111); |
2294 MockFrontend* frontend1 = MakeMockFrontend(); | 2337 MockFrontend* frontend1 = MakeMockFrontend(); |
2295 AppCacheHost* host1 = MakeHost(1, frontend1); | 2338 AppCacheHost* host1 = MakeHost(1, frontend1); |
2296 host1->AssociateCompleteCache(cache); | 2339 host1->AssociateCompleteCache(cache); |
2297 | 2340 |
2298 // Give cache an existing entry that can also be fetched. | 2341 // Give cache an existing entry that can also be fetched. |
2299 cache->AddEntry(MockHttpServer::GetMockUrl("files/explicit2"), | 2342 cache->AddEntry(MockHttpServer::GetMockUrl("files/explicit2"), |
2300 AppCacheEntry(AppCacheEntry::EXPLICIT, 222)); | 2343 AppCacheEntry(AppCacheEntry::EXPLICIT, 222)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2334 WaitForUpdateToFinish(); | 2377 WaitForUpdateToFinish(); |
2335 } | 2378 } |
2336 | 2379 |
2337 void StartUpdateMidCacheAttemptTest() { | 2380 void StartUpdateMidCacheAttemptTest() { |
2338 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2381 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2339 | 2382 |
2340 MakeService(); | 2383 MakeService(); |
2341 group_ = new AppCacheGroup( | 2384 group_ = new AppCacheGroup( |
2342 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), | 2385 service_->storage(), MockHttpServer::GetMockUrl("files/manifest1"), |
2343 service_->storage()->NewGroupId()); | 2386 service_->storage()->NewGroupId()); |
2344 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2387 AppCacheUpdateJob* update = |
| 2388 new AppCacheUpdateJob(service_.get(), group_.get()); |
2345 group_->update_job_ = update; | 2389 group_->update_job_ = update; |
2346 | 2390 |
2347 MockFrontend* frontend1 = MakeMockFrontend(); | 2391 MockFrontend* frontend1 = MakeMockFrontend(); |
2348 AppCacheHost* host1 = MakeHost(1, frontend1); | 2392 AppCacheHost* host1 = MakeHost(1, frontend1); |
2349 host1->new_master_entry_url_ = | 2393 host1->new_master_entry_url_ = |
2350 MockHttpServer::GetMockUrl("files/explicit2"); | 2394 MockHttpServer::GetMockUrl("files/explicit2"); |
2351 update->StartUpdate(host1, host1->new_master_entry_url_); | 2395 update->StartUpdate(host1, host1->new_master_entry_url_); |
2352 EXPECT_TRUE(update->manifest_fetcher_ != NULL); | 2396 EXPECT_TRUE(update->manifest_fetcher_ != NULL); |
2353 | 2397 |
2354 // Set up additional updates to be started while update is in progress. | 2398 // Set up additional updates to be started while update is in progress. |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2420 WaitForUpdateToFinish(); | 2464 WaitForUpdateToFinish(); |
2421 } | 2465 } |
2422 | 2466 |
2423 void StartUpdateMidNoUpdateTest() { | 2467 void StartUpdateMidNoUpdateTest() { |
2424 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2468 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2425 | 2469 |
2426 MakeService(); | 2470 MakeService(); |
2427 group_ = new AppCacheGroup( | 2471 group_ = new AppCacheGroup( |
2428 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), | 2472 service_->storage(), MockHttpServer::GetMockUrl("files/notmodified"), |
2429 service_->storage()->NewGroupId()); | 2473 service_->storage()->NewGroupId()); |
2430 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2474 AppCacheUpdateJob* update = |
| 2475 new AppCacheUpdateJob(service_.get(), group_.get()); |
2431 group_->update_job_ = update; | 2476 group_->update_job_ = update; |
2432 | 2477 |
2433 AppCache* cache = MakeCacheForGroup(1, 111); | 2478 AppCache* cache = MakeCacheForGroup(1, 111); |
2434 MockFrontend* frontend1 = MakeMockFrontend(); | 2479 MockFrontend* frontend1 = MakeMockFrontend(); |
2435 AppCacheHost* host1 = MakeHost(1, frontend1); | 2480 AppCacheHost* host1 = MakeHost(1, frontend1); |
2436 host1->AssociateCompleteCache(cache); | 2481 host1->AssociateCompleteCache(cache); |
2437 | 2482 |
2438 // Give cache an existing entry. | 2483 // Give cache an existing entry. |
2439 cache->AddEntry(MockHttpServer::GetMockUrl("files/explicit2"), | 2484 cache->AddEntry(MockHttpServer::GetMockUrl("files/explicit2"), |
2440 AppCacheEntry(AppCacheEntry::EXPLICIT, 222)); | 2485 AppCacheEntry(AppCacheEntry::EXPLICIT, 222)); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2501 } | 2546 } |
2502 | 2547 |
2503 void StartUpdateMidDownloadTest() { | 2548 void StartUpdateMidDownloadTest() { |
2504 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2549 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2505 | 2550 |
2506 MakeService(); | 2551 MakeService(); |
2507 group_ = new AppCacheGroup( | 2552 group_ = new AppCacheGroup( |
2508 service_->storage(), | 2553 service_->storage(), |
2509 MockHttpServer::GetMockUrl("files/manifest1"), | 2554 MockHttpServer::GetMockUrl("files/manifest1"), |
2510 111); | 2555 111); |
2511 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2556 AppCacheUpdateJob* update = |
| 2557 new AppCacheUpdateJob(service_.get(), group_.get()); |
2512 group_->update_job_ = update; | 2558 group_->update_job_ = update; |
2513 | 2559 |
2514 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); | 2560 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), 42); |
2515 MockFrontend* frontend1 = MakeMockFrontend(); | 2561 MockFrontend* frontend1 = MakeMockFrontend(); |
2516 AppCacheHost* host1 = MakeHost(1, frontend1); | 2562 AppCacheHost* host1 = MakeHost(1, frontend1); |
2517 host1->AssociateCompleteCache(cache); | 2563 host1->AssociateCompleteCache(cache); |
2518 | 2564 |
2519 update->StartUpdate(NULL, GURL()); | 2565 update->StartUpdate(NULL, GURL()); |
2520 | 2566 |
2521 // Set up additional updates to be started while update is in progress. | 2567 // Set up additional updates to be started while update is in progress. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2585 } | 2631 } |
2586 | 2632 |
2587 void QueueMasterEntryTest() { | 2633 void QueueMasterEntryTest() { |
2588 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2634 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2589 | 2635 |
2590 MakeService(); | 2636 MakeService(); |
2591 group_ = new AppCacheGroup( | 2637 group_ = new AppCacheGroup( |
2592 service_->storage(), | 2638 service_->storage(), |
2593 MockHttpServer::GetMockUrl("files/manifest1"), | 2639 MockHttpServer::GetMockUrl("files/manifest1"), |
2594 111); | 2640 111); |
2595 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2641 AppCacheUpdateJob* update = |
| 2642 new AppCacheUpdateJob(service_.get(), group_.get()); |
2596 group_->update_job_ = update; | 2643 group_->update_job_ = update; |
2597 | 2644 |
2598 // Pretend update job has been running and is about to terminate. | 2645 // Pretend update job has been running and is about to terminate. |
2599 group_->update_status_ = AppCacheGroup::DOWNLOADING; | 2646 group_->update_status_ = AppCacheGroup::DOWNLOADING; |
2600 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; | 2647 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; |
2601 EXPECT_TRUE(update->IsTerminating()); | 2648 EXPECT_TRUE(update->IsTerminating()); |
2602 | 2649 |
2603 // Start an update. Should be queued. | 2650 // Start an update. Should be queued. |
2604 MockFrontend* frontend = MakeMockFrontend(); | 2651 MockFrontend* frontend = MakeMockFrontend(); |
2605 AppCacheHost* host = MakeHost(1, frontend); | 2652 AppCacheHost* host = MakeHost(1, frontend); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2637 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2684 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2638 | 2685 |
2639 net::URLRequestJobFactoryImpl* new_factory( | 2686 net::URLRequestJobFactoryImpl* new_factory( |
2640 new net::URLRequestJobFactoryImpl); | 2687 new net::URLRequestJobFactoryImpl); |
2641 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); | 2688 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); |
2642 io_thread_->SetNewJobFactory(new_factory); | 2689 io_thread_->SetNewJobFactory(new_factory); |
2643 | 2690 |
2644 MakeService(); | 2691 MakeService(); |
2645 group_ = new AppCacheGroup( | 2692 group_ = new AppCacheGroup( |
2646 service_->storage(), GURL("http://headertest"), 111); | 2693 service_->storage(), GURL("http://headertest"), 111); |
2647 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2694 AppCacheUpdateJob* update = |
| 2695 new AppCacheUpdateJob(service_.get(), group_.get()); |
2648 group_->update_job_ = update; | 2696 group_->update_job_ = update; |
2649 | 2697 |
2650 // First test against a cache attempt. Will start manifest fetch | 2698 // First test against a cache attempt. Will start manifest fetch |
2651 // synchronously. | 2699 // synchronously. |
2652 HttpHeadersRequestTestJob::Initialize(std::string(), std::string()); | 2700 HttpHeadersRequestTestJob::Initialize(std::string(), std::string()); |
2653 MockFrontend mock_frontend; | 2701 MockFrontend mock_frontend; |
2654 AppCacheHost host(1, &mock_frontend, service_.get()); | 2702 AppCacheHost host(1, &mock_frontend, service_.get()); |
2655 update->StartUpdate(&host, GURL()); | 2703 update->StartUpdate(&host, GURL()); |
2656 HttpHeadersRequestTestJob::Verify(); | 2704 HttpHeadersRequestTestJob::Verify(); |
2657 delete update; | 2705 delete update; |
2658 | 2706 |
2659 // Now simulate a refetch manifest request. Will start fetch request | 2707 // Now simulate a refetch manifest request. Will start fetch request |
2660 // synchronously. | 2708 // synchronously. |
2661 const char data[] = | 2709 const char data[] = |
2662 "HTTP/1.1 200 OK\0" | 2710 "HTTP/1.1 200 OK\0" |
2663 "\0"; | 2711 "\0"; |
2664 net::HttpResponseHeaders* headers = | 2712 net::HttpResponseHeaders* headers = |
2665 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 2713 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
2666 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 2714 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
2667 response_info->headers = headers; // adds ref to headers | 2715 response_info->headers = headers; // adds ref to headers |
2668 | 2716 |
2669 HttpHeadersRequestTestJob::Initialize(std::string(), std::string()); | 2717 HttpHeadersRequestTestJob::Initialize(std::string(), std::string()); |
2670 update = new AppCacheUpdateJob(service_.get(), group_); | 2718 update = new AppCacheUpdateJob(service_.get(), group_.get()); |
2671 group_->update_job_ = update; | 2719 group_->update_job_ = update; |
2672 group_->update_status_ = AppCacheGroup::DOWNLOADING; | 2720 group_->update_status_ = AppCacheGroup::DOWNLOADING; |
2673 update->manifest_response_info_.reset(response_info); | 2721 update->manifest_response_info_.reset(response_info); |
2674 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; | 2722 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; |
2675 update->FetchManifest(false); // not first request | 2723 update->FetchManifest(false); // not first request |
2676 HttpHeadersRequestTestJob::Verify(); | 2724 HttpHeadersRequestTestJob::Verify(); |
2677 delete update; | 2725 delete update; |
2678 | 2726 |
2679 // Change the headers to include a Last-Modified header. Manifest refetch | 2727 // Change the headers to include a Last-Modified header. Manifest refetch |
2680 // should include If-Modified-Since header. | 2728 // should include If-Modified-Since header. |
2681 const char data2[] = | 2729 const char data2[] = |
2682 "HTTP/1.1 200 OK\0" | 2730 "HTTP/1.1 200 OK\0" |
2683 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" | 2731 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" |
2684 "\0"; | 2732 "\0"; |
2685 net::HttpResponseHeaders* headers2 = | 2733 net::HttpResponseHeaders* headers2 = |
2686 new net::HttpResponseHeaders(std::string(data2, arraysize(data2))); | 2734 new net::HttpResponseHeaders(std::string(data2, arraysize(data2))); |
2687 response_info = new net::HttpResponseInfo(); | 2735 response_info = new net::HttpResponseInfo(); |
2688 response_info->headers = headers2; | 2736 response_info->headers = headers2; |
2689 | 2737 |
2690 HttpHeadersRequestTestJob::Initialize("Sat, 29 Oct 1994 19:43:31 GMT", | 2738 HttpHeadersRequestTestJob::Initialize("Sat, 29 Oct 1994 19:43:31 GMT", |
2691 std::string()); | 2739 std::string()); |
2692 update = new AppCacheUpdateJob(service_.get(), group_); | 2740 update = new AppCacheUpdateJob(service_.get(), group_.get()); |
2693 group_->update_job_ = update; | 2741 group_->update_job_ = update; |
2694 group_->update_status_ = AppCacheGroup::DOWNLOADING; | 2742 group_->update_status_ = AppCacheGroup::DOWNLOADING; |
2695 update->manifest_response_info_.reset(response_info); | 2743 update->manifest_response_info_.reset(response_info); |
2696 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; | 2744 update->internal_state_ = AppCacheUpdateJob::REFETCH_MANIFEST; |
2697 update->FetchManifest(false); // not first request | 2745 update->FetchManifest(false); // not first request |
2698 HttpHeadersRequestTestJob::Verify(); | 2746 HttpHeadersRequestTestJob::Verify(); |
2699 delete update; | 2747 delete update; |
2700 | 2748 |
2701 UpdateFinished(); | 2749 UpdateFinished(); |
2702 } | 2750 } |
2703 | 2751 |
2704 void IfModifiedSinceUpgradeTest() { | 2752 void IfModifiedSinceUpgradeTest() { |
2705 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2753 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2706 | 2754 |
2707 HttpHeadersRequestTestJob::Initialize("Sat, 29 Oct 1994 19:43:31 GMT", | 2755 HttpHeadersRequestTestJob::Initialize("Sat, 29 Oct 1994 19:43:31 GMT", |
2708 std::string()); | 2756 std::string()); |
2709 net::URLRequestJobFactoryImpl* new_factory( | 2757 net::URLRequestJobFactoryImpl* new_factory( |
2710 new net::URLRequestJobFactoryImpl); | 2758 new net::URLRequestJobFactoryImpl); |
2711 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); | 2759 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); |
2712 io_thread_->SetNewJobFactory(new_factory); | 2760 io_thread_->SetNewJobFactory(new_factory); |
2713 | 2761 |
2714 MakeService(); | 2762 MakeService(); |
2715 group_ =new AppCacheGroup( | 2763 group_ =new AppCacheGroup( |
2716 service_->storage(), | 2764 service_->storage(), |
2717 MockHttpServer::GetMockUrl("files/manifest1"), | 2765 MockHttpServer::GetMockUrl("files/manifest1"), |
2718 111); | 2766 111); |
2719 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2767 AppCacheUpdateJob* update = |
| 2768 new AppCacheUpdateJob(service_.get(), group_.get()); |
2720 group_->update_job_ = update; | 2769 group_->update_job_ = update; |
2721 | 2770 |
2722 // Give the newest cache a manifest enry that is in storage. | 2771 // Give the newest cache a manifest enry that is in storage. |
2723 response_writer_.reset( | 2772 response_writer_.reset( |
2724 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 2773 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
2725 group_->group_id())); | 2774 group_->group_id())); |
2726 | 2775 |
2727 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), | 2776 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), |
2728 response_writer_->response_id()); | 2777 response_writer_->response_id()); |
2729 MockFrontend* frontend = MakeMockFrontend(); | 2778 MockFrontend* frontend = MakeMockFrontend(); |
(...skipping 20 matching lines...) Expand all Loading... |
2750 "HTTP/1.1 200 OK\0" | 2799 "HTTP/1.1 200 OK\0" |
2751 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" | 2800 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" |
2752 "\0"; | 2801 "\0"; |
2753 net::HttpResponseHeaders* headers = | 2802 net::HttpResponseHeaders* headers = |
2754 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 2803 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
2755 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 2804 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
2756 response_info->headers = headers; // adds ref to headers | 2805 response_info->headers = headers; // adds ref to headers |
2757 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( | 2806 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( |
2758 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info | 2807 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info |
2759 response_writer_->WriteInfo( | 2808 response_writer_->WriteInfo( |
2760 io_buffer, | 2809 io_buffer.get(), |
2761 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 2810 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
2762 base::Unretained(this))); | 2811 base::Unretained(this))); |
2763 | 2812 |
2764 // Start update after data write completes asynchronously. | 2813 // Start update after data write completes asynchronously. |
2765 } | 2814 } |
2766 | 2815 |
2767 void IfNoneMatchUpgradeTest() { | 2816 void IfNoneMatchUpgradeTest() { |
2768 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2817 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2769 | 2818 |
2770 HttpHeadersRequestTestJob::Initialize(std::string(), "\"LadeDade\""); | 2819 HttpHeadersRequestTestJob::Initialize(std::string(), "\"LadeDade\""); |
2771 net::URLRequestJobFactoryImpl* new_factory( | 2820 net::URLRequestJobFactoryImpl* new_factory( |
2772 new net::URLRequestJobFactoryImpl); | 2821 new net::URLRequestJobFactoryImpl); |
2773 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); | 2822 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); |
2774 io_thread_->SetNewJobFactory(new_factory); | 2823 io_thread_->SetNewJobFactory(new_factory); |
2775 | 2824 |
2776 MakeService(); | 2825 MakeService(); |
2777 group_ = new AppCacheGroup( | 2826 group_ = new AppCacheGroup( |
2778 service_->storage(), | 2827 service_->storage(), |
2779 MockHttpServer::GetMockUrl("files/manifest1"), | 2828 MockHttpServer::GetMockUrl("files/manifest1"), |
2780 111); | 2829 111); |
2781 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2830 AppCacheUpdateJob* update = |
| 2831 new AppCacheUpdateJob(service_.get(), group_.get()); |
2782 group_->update_job_ = update; | 2832 group_->update_job_ = update; |
2783 | 2833 |
2784 // Give the newest cache a manifest enry that is in storage. | 2834 // Give the newest cache a manifest enry that is in storage. |
2785 response_writer_.reset( | 2835 response_writer_.reset( |
2786 service_->storage()->CreateResponseWriter(group_->manifest_url(), | 2836 service_->storage()->CreateResponseWriter(group_->manifest_url(), |
2787 group_->group_id())); | 2837 group_->group_id())); |
2788 | 2838 |
2789 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), | 2839 AppCache* cache = MakeCacheForGroup(service_->storage()->NewCacheId(), |
2790 response_writer_->response_id()); | 2840 response_writer_->response_id()); |
2791 MockFrontend* frontend = MakeMockFrontend(); | 2841 MockFrontend* frontend = MakeMockFrontend(); |
(...skipping 20 matching lines...) Expand all Loading... |
2812 "HTTP/1.1 200 OK\0" | 2862 "HTTP/1.1 200 OK\0" |
2813 "ETag: \"LadeDade\"\0" | 2863 "ETag: \"LadeDade\"\0" |
2814 "\0"; | 2864 "\0"; |
2815 net::HttpResponseHeaders* headers = | 2865 net::HttpResponseHeaders* headers = |
2816 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 2866 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
2817 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 2867 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
2818 response_info->headers = headers; // adds ref to headers | 2868 response_info->headers = headers; // adds ref to headers |
2819 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( | 2869 scoped_refptr<HttpResponseInfoIOBuffer> io_buffer( |
2820 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info | 2870 new HttpResponseInfoIOBuffer(response_info)); // adds ref to info |
2821 response_writer_->WriteInfo( | 2871 response_writer_->WriteInfo( |
2822 io_buffer, | 2872 io_buffer.get(), |
2823 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, | 2873 base::Bind(&AppCacheUpdateJobTest::StartUpdateAfterSeedingStorageData, |
2824 base::Unretained(this))); | 2874 base::Unretained(this))); |
2825 | 2875 |
2826 // Start update after data write completes asynchronously. | 2876 // Start update after data write completes asynchronously. |
2827 } | 2877 } |
2828 | 2878 |
2829 void IfNoneMatchRefetchTest() { | 2879 void IfNoneMatchRefetchTest() { |
2830 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2880 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2831 | 2881 |
2832 HttpHeadersRequestTestJob::Initialize(std::string(), "\"LadeDade\""); | 2882 HttpHeadersRequestTestJob::Initialize(std::string(), "\"LadeDade\""); |
2833 net::URLRequestJobFactoryImpl* new_factory( | 2883 net::URLRequestJobFactoryImpl* new_factory( |
2834 new net::URLRequestJobFactoryImpl); | 2884 new net::URLRequestJobFactoryImpl); |
2835 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); | 2885 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); |
2836 io_thread_->SetNewJobFactory(new_factory); | 2886 io_thread_->SetNewJobFactory(new_factory); |
2837 | 2887 |
2838 MakeService(); | 2888 MakeService(); |
2839 group_ = new AppCacheGroup( | 2889 group_ = new AppCacheGroup( |
2840 service_->storage(), GURL("http://headertest"), 111); | 2890 service_->storage(), GURL("http://headertest"), 111); |
2841 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2891 AppCacheUpdateJob* update = |
| 2892 new AppCacheUpdateJob(service_.get(), group_.get()); |
2842 group_->update_job_ = update; | 2893 group_->update_job_ = update; |
2843 | 2894 |
2844 // Simulate a refetch manifest request that uses an ETag header. | 2895 // Simulate a refetch manifest request that uses an ETag header. |
2845 const char data[] = | 2896 const char data[] = |
2846 "HTTP/1.1 200 OK\0" | 2897 "HTTP/1.1 200 OK\0" |
2847 "ETag: \"LadeDade\"\0" | 2898 "ETag: \"LadeDade\"\0" |
2848 "\0"; | 2899 "\0"; |
2849 net::HttpResponseHeaders* headers = | 2900 net::HttpResponseHeaders* headers = |
2850 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 2901 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
2851 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); | 2902 net::HttpResponseInfo* response_info = new net::HttpResponseInfo(); |
(...skipping 16 matching lines...) Expand all Loading... |
2868 HttpHeadersRequestTestJob::Initialize( | 2919 HttpHeadersRequestTestJob::Initialize( |
2869 "Sat, 29 Oct 1994 19:43:31 GMT", "\"LadeDade\""); | 2920 "Sat, 29 Oct 1994 19:43:31 GMT", "\"LadeDade\""); |
2870 net::URLRequestJobFactoryImpl* new_factory( | 2921 net::URLRequestJobFactoryImpl* new_factory( |
2871 new net::URLRequestJobFactoryImpl); | 2922 new net::URLRequestJobFactoryImpl); |
2872 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); | 2923 new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory); |
2873 io_thread_->SetNewJobFactory(new_factory); | 2924 io_thread_->SetNewJobFactory(new_factory); |
2874 | 2925 |
2875 MakeService(); | 2926 MakeService(); |
2876 group_ = new AppCacheGroup( | 2927 group_ = new AppCacheGroup( |
2877 service_->storage(), GURL("http://headertest"), 111); | 2928 service_->storage(), GURL("http://headertest"), 111); |
2878 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2929 AppCacheUpdateJob* update = |
| 2930 new AppCacheUpdateJob(service_.get(), group_.get()); |
2879 group_->update_job_ = update; | 2931 group_->update_job_ = update; |
2880 | 2932 |
2881 // Simulate a refetch manifest request that uses an ETag header. | 2933 // Simulate a refetch manifest request that uses an ETag header. |
2882 const char data[] = | 2934 const char data[] = |
2883 "HTTP/1.1 200 OK\0" | 2935 "HTTP/1.1 200 OK\0" |
2884 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" | 2936 "Last-Modified: Sat, 29 Oct 1994 19:43:31 GMT\0" |
2885 "ETag: \"LadeDade\"\0" | 2937 "ETag: \"LadeDade\"\0" |
2886 "\0"; | 2938 "\0"; |
2887 net::HttpResponseHeaders* headers = | 2939 net::HttpResponseHeaders* headers = |
2888 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 2940 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
(...skipping 12 matching lines...) Expand all Loading... |
2901 | 2953 |
2902 void CrossOriginHttpsSuccessTest() { | 2954 void CrossOriginHttpsSuccessTest() { |
2903 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2955 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2904 | 2956 |
2905 GURL manifest_url = MockHttpServer::GetMockHttpsUrl( | 2957 GURL manifest_url = MockHttpServer::GetMockHttpsUrl( |
2906 "files/valid_cross_origin_https_manifest"); | 2958 "files/valid_cross_origin_https_manifest"); |
2907 | 2959 |
2908 MakeService(); | 2960 MakeService(); |
2909 group_ = new AppCacheGroup( | 2961 group_ = new AppCacheGroup( |
2910 service_->storage(), manifest_url, service_->storage()->NewGroupId()); | 2962 service_->storage(), manifest_url, service_->storage()->NewGroupId()); |
2911 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2963 AppCacheUpdateJob* update = |
| 2964 new AppCacheUpdateJob(service_.get(), group_.get()); |
2912 group_->update_job_ = update; | 2965 group_->update_job_ = update; |
2913 | 2966 |
2914 MockFrontend* frontend = MakeMockFrontend(); | 2967 MockFrontend* frontend = MakeMockFrontend(); |
2915 AppCacheHost* host = MakeHost(1, frontend); | 2968 AppCacheHost* host = MakeHost(1, frontend); |
2916 update->StartUpdate(host, GURL()); | 2969 update->StartUpdate(host, GURL()); |
2917 | 2970 |
2918 // Set up checks for when update job finishes. | 2971 // Set up checks for when update job finishes. |
2919 do_checks_after_update_finished_ = true; | 2972 do_checks_after_update_finished_ = true; |
2920 expect_group_obsolete_ = false; | 2973 expect_group_obsolete_ = false; |
2921 expect_group_has_cache_ = true; | 2974 expect_group_has_cache_ = true; |
2922 tested_manifest_ = NONE; | 2975 tested_manifest_ = NONE; |
2923 MockFrontend::HostIds host_ids(1, host->host_id()); | 2976 MockFrontend::HostIds host_ids(1, host->host_id()); |
2924 frontend->AddExpectedEvent(host_ids, CHECKING_EVENT); | 2977 frontend->AddExpectedEvent(host_ids, CHECKING_EVENT); |
2925 | 2978 |
2926 WaitForUpdateToFinish(); | 2979 WaitForUpdateToFinish(); |
2927 } | 2980 } |
2928 | 2981 |
2929 void CrossOriginHttpsDeniedTest() { | 2982 void CrossOriginHttpsDeniedTest() { |
2930 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); | 2983 ASSERT_EQ(base::MessageLoop::TYPE_IO, base::MessageLoop::current()->type()); |
2931 | 2984 |
2932 GURL manifest_url = MockHttpServer::GetMockHttpsUrl( | 2985 GURL manifest_url = MockHttpServer::GetMockHttpsUrl( |
2933 "files/invalid_cross_origin_https_manifest"); | 2986 "files/invalid_cross_origin_https_manifest"); |
2934 | 2987 |
2935 MakeService(); | 2988 MakeService(); |
2936 group_ = new AppCacheGroup( | 2989 group_ = new AppCacheGroup( |
2937 service_->storage(), manifest_url, service_->storage()->NewGroupId()); | 2990 service_->storage(), manifest_url, service_->storage()->NewGroupId()); |
2938 AppCacheUpdateJob* update = new AppCacheUpdateJob(service_.get(), group_); | 2991 AppCacheUpdateJob* update = |
| 2992 new AppCacheUpdateJob(service_.get(), group_.get()); |
2939 group_->update_job_ = update; | 2993 group_->update_job_ = update; |
2940 | 2994 |
2941 MockFrontend* frontend = MakeMockFrontend(); | 2995 MockFrontend* frontend = MakeMockFrontend(); |
2942 AppCacheHost* host = MakeHost(1, frontend); | 2996 AppCacheHost* host = MakeHost(1, frontend); |
2943 update->StartUpdate(host, GURL()); | 2997 update->StartUpdate(host, GURL()); |
2944 | 2998 |
2945 // Set up checks for when update job finishes. | 2999 // Set up checks for when update job finishes. |
2946 do_checks_after_update_finished_ = true; | 3000 do_checks_after_update_finished_ = true; |
2947 expect_group_obsolete_ = false; | 3001 expect_group_obsolete_ = false; |
2948 expect_group_has_cache_ = false; | 3002 expect_group_has_cache_ = false; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3024 | 3078 |
3025 AppCacheResponseInfo* MakeAppCacheResponseInfo( | 3079 AppCacheResponseInfo* MakeAppCacheResponseInfo( |
3026 const GURL& manifest_url, int64 response_id, | 3080 const GURL& manifest_url, int64 response_id, |
3027 const std::string& raw_headers) { | 3081 const std::string& raw_headers) { |
3028 net::HttpResponseInfo* http_info = new net::HttpResponseInfo(); | 3082 net::HttpResponseInfo* http_info = new net::HttpResponseInfo(); |
3029 http_info->headers = new net::HttpResponseHeaders(raw_headers); | 3083 http_info->headers = new net::HttpResponseHeaders(raw_headers); |
3030 scoped_refptr<AppCacheResponseInfo> info( | 3084 scoped_refptr<AppCacheResponseInfo> info( |
3031 new AppCacheResponseInfo(service_.get(), manifest_url, | 3085 new AppCacheResponseInfo(service_.get(), manifest_url, |
3032 response_id, http_info, 0)); | 3086 response_id, http_info, 0)); |
3033 response_infos_.push_back(info); | 3087 response_infos_.push_back(info); |
3034 return info; | 3088 return info.get(); |
3035 } | 3089 } |
3036 | 3090 |
3037 MockFrontend* MakeMockFrontend() { | 3091 MockFrontend* MakeMockFrontend() { |
3038 MockFrontend* frontend = new MockFrontend(); | 3092 MockFrontend* frontend = new MockFrontend(); |
3039 frontends_.push_back(frontend); | 3093 frontends_.push_back(frontend); |
3040 return frontend; | 3094 return frontend; |
3041 } | 3095 } |
3042 | 3096 |
3043 // Verifies conditions about the group and notifications after an update | 3097 // Verifies conditions about the group and notifications after an update |
3044 // has finished. Cannot verify update job internals as update is deleted. | 3098 // has finished. Cannot verify update job internals as update is deleted. |
(...skipping 21 matching lines...) Expand all Loading... |
3066 EXPECT_TRUE(group_->old_caches().end() == | 3120 EXPECT_TRUE(group_->old_caches().end() == |
3067 std::find(group_->old_caches().begin(), | 3121 std::find(group_->old_caches().begin(), |
3068 group_->old_caches().end(), expect_newest_cache_)); | 3122 group_->old_caches().end(), expect_newest_cache_)); |
3069 } else { | 3123 } else { |
3070 // Tests that don't know which newest cache to expect contain updates | 3124 // Tests that don't know which newest cache to expect contain updates |
3071 // that succeed (because the update creates a new cache whose pointer | 3125 // that succeed (because the update creates a new cache whose pointer |
3072 // is unknown to the test). Check group and newest cache were stored | 3126 // is unknown to the test). Check group and newest cache were stored |
3073 // when update succeeds. | 3127 // when update succeeds. |
3074 MockAppCacheStorage* storage = | 3128 MockAppCacheStorage* storage = |
3075 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); | 3129 reinterpret_cast<MockAppCacheStorage*>(service_->storage()); |
3076 EXPECT_TRUE(storage->IsGroupStored(group_)); | 3130 EXPECT_TRUE(storage->IsGroupStored(group_.get())); |
3077 EXPECT_TRUE(storage->IsCacheStored(group_->newest_complete_cache())); | 3131 EXPECT_TRUE(storage->IsCacheStored(group_->newest_complete_cache())); |
3078 | 3132 |
3079 // Check that all entries in the newest cache were stored. | 3133 // Check that all entries in the newest cache were stored. |
3080 const AppCache::EntryMap& entries = | 3134 const AppCache::EntryMap& entries = |
3081 group_->newest_complete_cache()->entries(); | 3135 group_->newest_complete_cache()->entries(); |
3082 for (AppCache::EntryMap::const_iterator it = entries.begin(); | 3136 for (AppCache::EntryMap::const_iterator it = entries.begin(); |
3083 it != entries.end(); ++it) { | 3137 it != entries.end(); ++it) { |
3084 EXPECT_NE(kNoResponseId, it->second.response_id()); | 3138 EXPECT_NE(kNoResponseId, it->second.response_id()); |
3085 | 3139 |
3086 // Check that any copied entries have the expected response id | 3140 // Check that any copied entries have the expected response id |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3359 AppCache::EntryMap expect_extra_entries_; | 3413 AppCache::EntryMap expect_extra_entries_; |
3360 std::map<GURL, int64> expect_response_ids_; | 3414 std::map<GURL, int64> expect_response_ids_; |
3361 }; | 3415 }; |
3362 | 3416 |
3363 TEST_F(AppCacheUpdateJobTest, AlreadyChecking) { | 3417 TEST_F(AppCacheUpdateJobTest, AlreadyChecking) { |
3364 MockAppCacheService service; | 3418 MockAppCacheService service; |
3365 scoped_refptr<AppCacheGroup> group( | 3419 scoped_refptr<AppCacheGroup> group( |
3366 new AppCacheGroup(service.storage(), GURL("http://manifesturl.com"), | 3420 new AppCacheGroup(service.storage(), GURL("http://manifesturl.com"), |
3367 service.storage()->NewGroupId())); | 3421 service.storage()->NewGroupId())); |
3368 | 3422 |
3369 AppCacheUpdateJob update(&service, group); | 3423 AppCacheUpdateJob update(&service, group.get()); |
3370 | 3424 |
3371 // Pretend group is in checking state. | 3425 // Pretend group is in checking state. |
3372 group->update_job_ = &update; | 3426 group->update_job_ = &update; |
3373 group->update_status_ = AppCacheGroup::CHECKING; | 3427 group->update_status_ = AppCacheGroup::CHECKING; |
3374 | 3428 |
3375 update.StartUpdate(NULL, GURL()); | 3429 update.StartUpdate(NULL, GURL()); |
3376 EXPECT_EQ(AppCacheGroup::CHECKING, group->update_status()); | 3430 EXPECT_EQ(AppCacheGroup::CHECKING, group->update_status()); |
3377 | 3431 |
3378 MockFrontend mock_frontend; | 3432 MockFrontend mock_frontend; |
3379 AppCacheHost host(1, &mock_frontend, &service); | 3433 AppCacheHost host(1, &mock_frontend, &service); |
3380 update.StartUpdate(&host, GURL()); | 3434 update.StartUpdate(&host, GURL()); |
3381 | 3435 |
3382 MockFrontend::RaisedEvents events = mock_frontend.raised_events_; | 3436 MockFrontend::RaisedEvents events = mock_frontend.raised_events_; |
3383 size_t expected = 1; | 3437 size_t expected = 1; |
3384 EXPECT_EQ(expected, events.size()); | 3438 EXPECT_EQ(expected, events.size()); |
3385 EXPECT_EQ(expected, events[0].first.size()); | 3439 EXPECT_EQ(expected, events[0].first.size()); |
3386 EXPECT_EQ(host.host_id(), events[0].first[0]); | 3440 EXPECT_EQ(host.host_id(), events[0].first[0]); |
3387 EXPECT_EQ(CHECKING_EVENT, events[0].second); | 3441 EXPECT_EQ(CHECKING_EVENT, events[0].second); |
3388 EXPECT_EQ(AppCacheGroup::CHECKING, group->update_status()); | 3442 EXPECT_EQ(AppCacheGroup::CHECKING, group->update_status()); |
3389 } | 3443 } |
3390 | 3444 |
3391 TEST_F(AppCacheUpdateJobTest, AlreadyDownloading) { | 3445 TEST_F(AppCacheUpdateJobTest, AlreadyDownloading) { |
3392 MockAppCacheService service; | 3446 MockAppCacheService service; |
3393 scoped_refptr<AppCacheGroup> group( | 3447 scoped_refptr<AppCacheGroup> group( |
3394 new AppCacheGroup(service.storage(), GURL("http://manifesturl.com"), | 3448 new AppCacheGroup(service.storage(), GURL("http://manifesturl.com"), |
3395 service.storage()->NewGroupId())); | 3449 service.storage()->NewGroupId())); |
3396 | 3450 |
3397 AppCacheUpdateJob update(&service, group); | 3451 AppCacheUpdateJob update(&service, group.get()); |
3398 | 3452 |
3399 // Pretend group is in downloading state. | 3453 // Pretend group is in downloading state. |
3400 group->update_job_ = &update; | 3454 group->update_job_ = &update; |
3401 group->update_status_ = AppCacheGroup::DOWNLOADING; | 3455 group->update_status_ = AppCacheGroup::DOWNLOADING; |
3402 | 3456 |
3403 update.StartUpdate(NULL, GURL()); | 3457 update.StartUpdate(NULL, GURL()); |
3404 EXPECT_EQ(AppCacheGroup::DOWNLOADING, group->update_status()); | 3458 EXPECT_EQ(AppCacheGroup::DOWNLOADING, group->update_status()); |
3405 | 3459 |
3406 MockFrontend mock_frontend; | 3460 MockFrontend mock_frontend; |
3407 AppCacheHost host(1, &mock_frontend, &service); | 3461 AppCacheHost host(1, &mock_frontend, &service); |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3630 | 3684 |
3631 TEST_F(AppCacheUpdateJobTest, CrossOriginHttpsSuccess) { | 3685 TEST_F(AppCacheUpdateJobTest, CrossOriginHttpsSuccess) { |
3632 RunTestOnIOThread(&AppCacheUpdateJobTest::CrossOriginHttpsSuccessTest); | 3686 RunTestOnIOThread(&AppCacheUpdateJobTest::CrossOriginHttpsSuccessTest); |
3633 } | 3687 } |
3634 | 3688 |
3635 TEST_F(AppCacheUpdateJobTest, CrossOriginHttpsDenied) { | 3689 TEST_F(AppCacheUpdateJobTest, CrossOriginHttpsDenied) { |
3636 RunTestOnIOThread(&AppCacheUpdateJobTest::CrossOriginHttpsDeniedTest); | 3690 RunTestOnIOThread(&AppCacheUpdateJobTest::CrossOriginHttpsDeniedTest); |
3637 } | 3691 } |
3638 | 3692 |
3639 } // namespace appcache | 3693 } // namespace appcache |
OLD | NEW |