OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "content/browser/loader/resource_loader.h" | 5 #include "content/browser/loader/resource_loader.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <deque> | 10 #include <deque> |
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 EXPECT_EQ(net::ERR_ABORTED, | 791 EXPECT_EQ(net::ERR_ABORTED, |
792 raw_ptr_resource_handler_->final_status().error()); | 792 raw_ptr_resource_handler_->final_status().error()); |
793 EXPECT_TRUE(raw_ptr_resource_handler_->body().empty()); | 793 EXPECT_TRUE(raw_ptr_resource_handler_->body().empty()); |
794 } | 794 } |
795 | 795 |
796 // Test the case the ResourceHandler defers everything. | 796 // Test the case the ResourceHandler defers everything. |
797 TEST_F(ResourceLoaderTest, AsyncResourceHandler) { | 797 TEST_F(ResourceLoaderTest, AsyncResourceHandler) { |
798 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 798 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
799 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); | 799 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); |
800 raw_ptr_resource_handler_->set_defer_on_response_started(true); | 800 raw_ptr_resource_handler_->set_defer_on_response_started(true); |
| 801 raw_ptr_resource_handler_->set_defer_on_will_read(true); |
801 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 802 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
802 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 803 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
803 raw_ptr_resource_handler_->set_defer_on_response_completed(true); | 804 raw_ptr_resource_handler_->set_defer_on_response_completed(true); |
804 | 805 |
805 // Start and run until OnWillStart. | 806 // Start and run until OnWillStart. |
806 loader_->StartRequest(); | 807 loader_->StartRequest(); |
807 raw_ptr_resource_handler_->WaitUntilDeferred(); | 808 raw_ptr_resource_handler_->WaitUntilDeferred(); |
808 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 809 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
809 | 810 |
810 // Spinning the message loop should not advance the state further. | 811 // Spinning the message loop should not advance the state further. |
(...skipping 26 matching lines...) Expand all Loading... |
837 EXPECT_EQ(2, handle_external_protocol_); | 838 EXPECT_EQ(2, handle_external_protocol_); |
838 | 839 |
839 // Spinning the message loop should not advance the state further. | 840 // Spinning the message loop should not advance the state further. |
840 base::RunLoop().RunUntilIdle(); | 841 base::RunLoop().RunUntilIdle(); |
841 EXPECT_EQ(1, did_receive_response_); | 842 EXPECT_EQ(1, did_receive_response_); |
842 EXPECT_EQ(0, did_finish_loading_); | 843 EXPECT_EQ(0, did_finish_loading_); |
843 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 844 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
844 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 845 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
845 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 846 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
846 | 847 |
| 848 // Resume and run until OnWillRead. |
| 849 raw_ptr_resource_handler_->Resume(); |
| 850 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 851 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 852 |
| 853 // Spinning the message loop should not advance the state further. |
| 854 base::RunLoop().RunUntilIdle(); |
| 855 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 856 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 857 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
| 858 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 859 |
847 // Resume and run until OnReadCompleted. | 860 // Resume and run until OnReadCompleted. |
848 raw_ptr_resource_handler_->Resume(); | 861 raw_ptr_resource_handler_->Resume(); |
849 raw_ptr_resource_handler_->WaitUntilDeferred(); | 862 raw_ptr_resource_handler_->WaitUntilDeferred(); |
850 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 863 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
851 | 864 |
852 // Spinning the message loop should not advance the state further. | 865 // Spinning the message loop should not advance the state further. |
853 base::RunLoop().RunUntilIdle(); | 866 base::RunLoop().RunUntilIdle(); |
854 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); | 867 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
855 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 868 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
856 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 869 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
| 870 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 871 |
| 872 // Defer on the next OnWillRead call, for the EOF. |
| 873 raw_ptr_resource_handler_->set_defer_on_will_read(true); |
| 874 |
| 875 // Resume and run until the next OnWillRead call. |
| 876 raw_ptr_resource_handler_->Resume(); |
| 877 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 878 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 879 |
| 880 // Spinning the message loop should not advance the state further. |
| 881 base::RunLoop().RunUntilIdle(); |
| 882 EXPECT_EQ(2, raw_ptr_resource_handler_->on_will_read_called()); |
| 883 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 884 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
857 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 885 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
858 | 886 |
859 // Resume and run until the final 0-byte read, signaling EOF. | 887 // Resume and run until the final 0-byte read, signaling EOF. |
860 raw_ptr_resource_handler_->Resume(); | 888 raw_ptr_resource_handler_->Resume(); |
861 raw_ptr_resource_handler_->WaitUntilDeferred(); | 889 raw_ptr_resource_handler_->WaitUntilDeferred(); |
862 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 890 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
863 | 891 |
864 // Spinning the message loop should not advance the state further. | 892 // Spinning the message loop should not advance the state further. |
865 base::RunLoop().RunUntilIdle(); | 893 base::RunLoop().RunUntilIdle(); |
866 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 894 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
867 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 895 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
868 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 896 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
869 | 897 |
870 // Resume and run until OnResponseCompleted is called, which again defers the | 898 // Resume and run until OnResponseCompleted is called, which again defers the |
871 // request. | 899 // request. |
872 raw_ptr_resource_handler_->Resume(); | 900 raw_ptr_resource_handler_->Resume(); |
873 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 901 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
874 EXPECT_EQ(0, did_finish_loading_); | 902 EXPECT_EQ(0, did_finish_loading_); |
875 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 903 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
876 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 904 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
(...skipping 11 matching lines...) Expand all Loading... |
888 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 916 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
889 EXPECT_EQ(2, handle_external_protocol_); | 917 EXPECT_EQ(2, handle_external_protocol_); |
890 } | 918 } |
891 | 919 |
892 // Same as above, except reads complete asynchronously and there's no redirect. | 920 // Same as above, except reads complete asynchronously and there's no redirect. |
893 TEST_F(ResourceLoaderTest, AsyncResourceHandlerAsyncReads) { | 921 TEST_F(ResourceLoaderTest, AsyncResourceHandlerAsyncReads) { |
894 SetUpResourceLoaderForUrl(test_async_url()); | 922 SetUpResourceLoaderForUrl(test_async_url()); |
895 | 923 |
896 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 924 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
897 raw_ptr_resource_handler_->set_defer_on_response_started(true); | 925 raw_ptr_resource_handler_->set_defer_on_response_started(true); |
| 926 raw_ptr_resource_handler_->set_defer_on_will_read(true); |
898 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 927 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
899 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 928 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
900 raw_ptr_resource_handler_->set_defer_on_response_completed(true); | 929 raw_ptr_resource_handler_->set_defer_on_response_completed(true); |
901 | 930 |
902 // Start and run until OnWillStart. | 931 // Start and run until OnWillStart. |
903 loader_->StartRequest(); | 932 loader_->StartRequest(); |
904 raw_ptr_resource_handler_->WaitUntilDeferred(); | 933 raw_ptr_resource_handler_->WaitUntilDeferred(); |
905 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 934 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
906 | 935 |
907 // Spinning the message loop should not advance the state further. | 936 // Spinning the message loop should not advance the state further. |
(...skipping 11 matching lines...) Expand all Loading... |
919 EXPECT_EQ(1, handle_external_protocol_); | 948 EXPECT_EQ(1, handle_external_protocol_); |
920 | 949 |
921 // Spinning the message loop should not advance the state further. | 950 // Spinning the message loop should not advance the state further. |
922 base::RunLoop().RunUntilIdle(); | 951 base::RunLoop().RunUntilIdle(); |
923 EXPECT_EQ(1, did_receive_response_); | 952 EXPECT_EQ(1, did_receive_response_); |
924 EXPECT_EQ(0, did_finish_loading_); | 953 EXPECT_EQ(0, did_finish_loading_); |
925 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 954 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
926 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 955 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
927 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 956 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
928 | 957 |
| 958 // Resume and run until OnWillRead. |
| 959 raw_ptr_resource_handler_->Resume(); |
| 960 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 961 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 962 |
| 963 // Spinning the message loop should not advance the state further. |
| 964 base::RunLoop().RunUntilIdle(); |
| 965 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 966 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 967 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
| 968 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 969 |
929 // Resume and run until OnReadCompleted. | 970 // Resume and run until OnReadCompleted. |
930 raw_ptr_resource_handler_->Resume(); | 971 raw_ptr_resource_handler_->Resume(); |
931 raw_ptr_resource_handler_->WaitUntilDeferred(); | 972 raw_ptr_resource_handler_->WaitUntilDeferred(); |
932 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 973 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
933 | 974 |
934 // Spinning the message loop should not advance the state further. | 975 // Spinning the message loop should not advance the state further. |
935 base::RunLoop().RunUntilIdle(); | 976 base::RunLoop().RunUntilIdle(); |
936 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); | 977 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
937 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 978 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
938 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 979 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
| 980 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 981 |
| 982 // Defer on the next OnWillRead call, for the EOF. |
| 983 raw_ptr_resource_handler_->set_defer_on_will_read(true); |
| 984 |
| 985 // Resume and run until the next OnWillRead. |
| 986 raw_ptr_resource_handler_->Resume(); |
| 987 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 988 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 989 |
| 990 // Spinning the message loop should not advance the state further. |
| 991 base::RunLoop().RunUntilIdle(); |
| 992 EXPECT_EQ(2, raw_ptr_resource_handler_->on_will_read_called()); |
| 993 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 994 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
939 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 995 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
940 | 996 |
941 // Resume and run until the final 0-byte read, signalling EOF. | 997 // Resume and run until the final 0-byte read, signalling EOF. |
942 raw_ptr_resource_handler_->Resume(); | 998 raw_ptr_resource_handler_->Resume(); |
943 raw_ptr_resource_handler_->WaitUntilDeferred(); | 999 raw_ptr_resource_handler_->WaitUntilDeferred(); |
944 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1000 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
945 | 1001 |
946 // Spinning the message loop should not advance the state further. | 1002 // Spinning the message loop should not advance the state further. |
947 base::RunLoop().RunUntilIdle(); | 1003 base::RunLoop().RunUntilIdle(); |
948 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1004 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
949 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 1005 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
950 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1006 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
951 | 1007 |
952 // Resume and run until OnResponseCompleted is called, which again defers the | 1008 // Resume and run until OnResponseCompleted is called, which again defers the |
953 // request. | 1009 // request. |
954 raw_ptr_resource_handler_->Resume(); | 1010 raw_ptr_resource_handler_->Resume(); |
955 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1011 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
956 EXPECT_EQ(0, did_finish_loading_); | 1012 EXPECT_EQ(0, did_finish_loading_); |
957 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1013 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
958 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 1014 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1047 | 1103 |
1048 TEST_F(ResourceLoaderTest, SyncCancelOnReadCompleted) { | 1104 TEST_F(ResourceLoaderTest, SyncCancelOnReadCompleted) { |
1049 raw_ptr_resource_handler_->set_on_read_completed_result(false); | 1105 raw_ptr_resource_handler_->set_on_read_completed_result(false); |
1050 | 1106 |
1051 loader_->StartRequest(); | 1107 loader_->StartRequest(); |
1052 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1108 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
1053 base::RunLoop().RunUntilIdle(); | 1109 base::RunLoop().RunUntilIdle(); |
1054 EXPECT_EQ(1, did_receive_response_); | 1110 EXPECT_EQ(1, did_receive_response_); |
1055 EXPECT_EQ(1, did_finish_loading_); | 1111 EXPECT_EQ(1, did_finish_loading_); |
1056 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 1112 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
1057 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 1113 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
1058 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1114 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1059 | 1115 |
1060 EXPECT_EQ(net::ERR_ABORTED, | 1116 EXPECT_EQ(net::ERR_ABORTED, |
1061 raw_ptr_resource_handler_->final_status().error()); | 1117 raw_ptr_resource_handler_->final_status().error()); |
1062 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); | 1118 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); |
1063 } | 1119 } |
1064 | 1120 |
1065 TEST_F(ResourceLoaderTest, SyncCancelOnReceivedEof) { | 1121 TEST_F(ResourceLoaderTest, SyncCancelOnReceivedEof) { |
1066 raw_ptr_resource_handler_->set_on_read_eof_result(false); | 1122 raw_ptr_resource_handler_->set_on_read_eof_result(false); |
1067 | 1123 |
1068 loader_->StartRequest(); | 1124 loader_->StartRequest(); |
1069 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1125 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
1070 base::RunLoop().RunUntilIdle(); | 1126 base::RunLoop().RunUntilIdle(); |
1071 EXPECT_EQ(1, did_receive_response_); | 1127 EXPECT_EQ(1, did_receive_response_); |
1072 EXPECT_EQ(1, did_finish_loading_); | 1128 EXPECT_EQ(1, did_finish_loading_); |
1073 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1129 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
1074 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1130 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1075 | 1131 |
1076 EXPECT_EQ(net::ERR_ABORTED, | 1132 EXPECT_EQ(net::ERR_ABORTED, |
1077 raw_ptr_resource_handler_->final_status().error()); | 1133 raw_ptr_resource_handler_->final_status().error()); |
1078 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1134 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
1079 } | 1135 } |
1080 | 1136 |
1081 TEST_F(ResourceLoaderTest, SyncCancelOnAsyncReadCompleted) { | 1137 TEST_F(ResourceLoaderTest, SyncCancelOnAsyncReadCompleted) { |
1082 SetUpResourceLoaderForUrl(test_async_url()); | 1138 SetUpResourceLoaderForUrl(test_async_url()); |
1083 raw_ptr_resource_handler_->set_on_read_completed_result(false); | 1139 raw_ptr_resource_handler_->set_on_read_completed_result(false); |
1084 | 1140 |
1085 loader_->StartRequest(); | 1141 loader_->StartRequest(); |
1086 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1142 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
1087 base::RunLoop().RunUntilIdle(); | 1143 base::RunLoop().RunUntilIdle(); |
1088 EXPECT_EQ(1, did_receive_response_); | 1144 EXPECT_EQ(1, did_receive_response_); |
1089 EXPECT_EQ(1, did_finish_loading_); | 1145 EXPECT_EQ(1, did_finish_loading_); |
1090 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 1146 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
1091 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 1147 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
1092 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1148 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1093 | 1149 |
1094 EXPECT_EQ(net::ERR_ABORTED, | 1150 EXPECT_EQ(net::ERR_ABORTED, |
1095 raw_ptr_resource_handler_->final_status().error()); | 1151 raw_ptr_resource_handler_->final_status().error()); |
1096 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); | 1152 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); |
1097 } | 1153 } |
1098 | 1154 |
1099 TEST_F(ResourceLoaderTest, SyncCancelOnAsyncReceivedEof) { | 1155 TEST_F(ResourceLoaderTest, SyncCancelOnAsyncReceivedEof) { |
1100 SetUpResourceLoaderForUrl(test_async_url()); | 1156 SetUpResourceLoaderForUrl(test_async_url()); |
1101 raw_ptr_resource_handler_->set_on_read_eof_result(false); | 1157 raw_ptr_resource_handler_->set_on_read_eof_result(false); |
1102 | 1158 |
1103 loader_->StartRequest(); | 1159 loader_->StartRequest(); |
1104 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1160 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
1105 base::RunLoop().RunUntilIdle(); | 1161 base::RunLoop().RunUntilIdle(); |
1106 EXPECT_EQ(1, did_receive_response_); | 1162 EXPECT_EQ(1, did_receive_response_); |
1107 EXPECT_EQ(1, did_finish_loading_); | 1163 EXPECT_EQ(1, did_finish_loading_); |
1108 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1164 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
1109 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1165 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1110 | 1166 |
1111 EXPECT_EQ(net::ERR_ABORTED, | 1167 EXPECT_EQ(net::ERR_ABORTED, |
1112 raw_ptr_resource_handler_->final_status().error()); | 1168 raw_ptr_resource_handler_->final_status().error()); |
1113 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1169 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
1114 } | 1170 } |
1115 | 1171 |
1116 TEST_F(ResourceLoaderTest, AsyncCancelOnWillStart) { | 1172 TEST_F(ResourceLoaderTest, AsyncCancelOnWillStart) { |
1117 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 1173 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
1118 | 1174 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1163 EXPECT_EQ(1, did_finish_loading_); | 1219 EXPECT_EQ(1, did_finish_loading_); |
1164 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 1220 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
1165 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 1221 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
1166 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); | 1222 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
1167 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1223 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1168 | 1224 |
1169 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1225 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
1170 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1226 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
1171 } | 1227 } |
1172 | 1228 |
| 1229 TEST_F(ResourceLoaderTest, AsyncCancelOnWillRead) { |
| 1230 raw_ptr_resource_handler_->set_defer_on_will_read(true); |
| 1231 |
| 1232 loader_->StartRequest(); |
| 1233 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 1234 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
| 1235 base::RunLoop().RunUntilIdle(); |
| 1236 EXPECT_EQ(1, did_receive_response_); |
| 1237 EXPECT_EQ(1, did_finish_loading_); |
| 1238 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 1239 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 1240 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
| 1241 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1242 |
| 1243 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1244 } |
| 1245 |
1173 TEST_F(ResourceLoaderTest, AsyncCancelOnReadCompleted) { | 1246 TEST_F(ResourceLoaderTest, AsyncCancelOnReadCompleted) { |
1174 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 1247 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
1175 | 1248 |
1176 loader_->StartRequest(); | 1249 loader_->StartRequest(); |
1177 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1250 raw_ptr_resource_handler_->WaitUntilDeferred(); |
1178 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1251 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
1179 base::RunLoop().RunUntilIdle(); | 1252 base::RunLoop().RunUntilIdle(); |
1180 EXPECT_EQ(1, did_receive_response_); | 1253 EXPECT_EQ(1, did_receive_response_); |
1181 EXPECT_EQ(1, did_finish_loading_); | 1254 EXPECT_EQ(1, did_finish_loading_); |
1182 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 1255 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
1183 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 1256 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
1184 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1257 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1185 | 1258 |
1186 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1259 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
1187 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); | 1260 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); |
1188 } | 1261 } |
1189 | 1262 |
1190 TEST_F(ResourceLoaderTest, AsyncCancelOnReceivedEof) { | 1263 TEST_F(ResourceLoaderTest, AsyncCancelOnReceivedEof) { |
1191 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 1264 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
1192 | 1265 |
1193 loader_->StartRequest(); | 1266 loader_->StartRequest(); |
1194 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1267 raw_ptr_resource_handler_->WaitUntilDeferred(); |
1195 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1268 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
1196 base::RunLoop().RunUntilIdle(); | 1269 base::RunLoop().RunUntilIdle(); |
1197 EXPECT_EQ(1, did_receive_response_); | 1270 EXPECT_EQ(1, did_receive_response_); |
1198 EXPECT_EQ(1, did_finish_loading_); | 1271 EXPECT_EQ(1, did_finish_loading_); |
1199 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1272 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
1200 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1273 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1201 | 1274 |
1202 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1275 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
1203 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1276 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
1204 } | 1277 } |
1205 | 1278 |
1206 TEST_F(ResourceLoaderTest, AsyncCancelOnAsyncReadCompleted) { | 1279 TEST_F(ResourceLoaderTest, AsyncCancelOnAsyncReadCompleted) { |
1207 SetUpResourceLoaderForUrl(test_async_url()); | 1280 SetUpResourceLoaderForUrl(test_async_url()); |
1208 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 1281 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
1209 | 1282 |
1210 loader_->StartRequest(); | 1283 loader_->StartRequest(); |
1211 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1284 raw_ptr_resource_handler_->WaitUntilDeferred(); |
1212 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1285 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
1213 base::RunLoop().RunUntilIdle(); | 1286 base::RunLoop().RunUntilIdle(); |
1214 EXPECT_EQ(1, did_receive_response_); | 1287 EXPECT_EQ(1, did_receive_response_); |
1215 EXPECT_EQ(1, did_finish_loading_); | 1288 EXPECT_EQ(1, did_finish_loading_); |
1216 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 1289 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
1217 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 1290 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof_called()); |
1218 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1291 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1219 | 1292 |
1220 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1293 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
1221 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); | 1294 EXPECT_LT(0u, raw_ptr_resource_handler_->body().size()); |
1222 } | 1295 } |
1223 | 1296 |
1224 TEST_F(ResourceLoaderTest, AsyncCancelOnAsyncReceivedEof) { | 1297 TEST_F(ResourceLoaderTest, AsyncCancelOnAsyncReceivedEof) { |
1225 SetUpResourceLoaderForUrl(test_async_url()); | 1298 SetUpResourceLoaderForUrl(test_async_url()); |
1226 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 1299 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
1227 | 1300 |
1228 loader_->StartRequest(); | 1301 loader_->StartRequest(); |
1229 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1302 raw_ptr_resource_handler_->WaitUntilDeferred(); |
1230 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1303 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
1231 base::RunLoop().RunUntilIdle(); | 1304 base::RunLoop().RunUntilIdle(); |
1232 EXPECT_EQ(1, did_receive_response_); | 1305 EXPECT_EQ(1, did_receive_response_); |
1233 EXPECT_EQ(1, did_finish_loading_); | 1306 EXPECT_EQ(1, did_finish_loading_); |
1234 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1307 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof_called()); |
1235 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1308 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
1236 | 1309 |
1237 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1310 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
1238 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1311 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
1239 } | 1312 } |
1240 | 1313 |
1241 // Tests the request being deferred and then being handled as an external | 1314 // Tests the request being deferred and then being handled as an external |
1242 // protocol, both on start. | 1315 // protocol, both on start. |
1243 TEST_F(ResourceLoaderTest, AsyncExternalProtocolHandlingOnStart) { | 1316 TEST_F(ResourceLoaderTest, AsyncExternalProtocolHandlingOnStart) { |
1244 handle_external_protocol_results_ = {true}; | 1317 handle_external_protocol_results_ = {true}; |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1483 | 1556 |
1484 // Tests that the effective connection type is not set on non-main frame | 1557 // Tests that the effective connection type is not set on non-main frame |
1485 // requests. | 1558 // requests. |
1486 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) { | 1559 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) { |
1487 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false, | 1560 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false, |
1488 net::EFFECTIVE_CONNECTION_TYPE_3G, | 1561 net::EFFECTIVE_CONNECTION_TYPE_3G, |
1489 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN); | 1562 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN); |
1490 } | 1563 } |
1491 | 1564 |
1492 } // namespace content | 1565 } // namespace content |
OLD | NEW |