| 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 |