| 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 "net/http/http_stream_factory_impl.h" | 5 #include "net/http/http_stream_factory_impl.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 931 // Now request a stream. | 931 // Now request a stream. |
| 932 HttpRequestInfo request_info; | 932 HttpRequestInfo request_info; |
| 933 request_info.method = "GET"; | 933 request_info.method = "GET"; |
| 934 request_info.url = GURL("ws://www.google.com"); | 934 request_info.url = GURL("ws://www.google.com"); |
| 935 request_info.load_flags = 0; | 935 request_info.load_flags = 0; |
| 936 | 936 |
| 937 SSLConfig ssl_config; | 937 SSLConfig ssl_config; |
| 938 StreamRequestWaiter waiter; | 938 StreamRequestWaiter waiter; |
| 939 WebSocketStreamCreateHelper create_helper; | 939 WebSocketStreamCreateHelper create_helper; |
| 940 scoped_ptr<HttpStreamRequest> request( | 940 scoped_ptr<HttpStreamRequest> request( |
| 941 session->websocket_handshake_stream_factory() | 941 session->http_stream_factory_for_websocket() |
| 942 ->RequestWebSocketHandshakeStream(request_info, | 942 ->RequestWebSocketHandshakeStream(request_info, |
| 943 DEFAULT_PRIORITY, | 943 DEFAULT_PRIORITY, |
| 944 ssl_config, | 944 ssl_config, |
| 945 ssl_config, | 945 ssl_config, |
| 946 &waiter, | 946 &waiter, |
| 947 &create_helper, | 947 &create_helper, |
| 948 BoundNetLog())); | 948 BoundNetLog())); |
| 949 waiter.WaitForStream(); | 949 waiter.WaitForStream(); |
| 950 EXPECT_TRUE(waiter.stream_done()); | 950 EXPECT_TRUE(waiter.stream_done()); |
| 951 EXPECT_TRUE(NULL == waiter.stream()); | 951 EXPECT_TRUE(NULL == waiter.stream()); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 982 // Now request a stream. | 982 // Now request a stream. |
| 983 HttpRequestInfo request_info; | 983 HttpRequestInfo request_info; |
| 984 request_info.method = "GET"; | 984 request_info.method = "GET"; |
| 985 request_info.url = GURL("wss://www.google.com"); | 985 request_info.url = GURL("wss://www.google.com"); |
| 986 request_info.load_flags = 0; | 986 request_info.load_flags = 0; |
| 987 | 987 |
| 988 SSLConfig ssl_config; | 988 SSLConfig ssl_config; |
| 989 StreamRequestWaiter waiter; | 989 StreamRequestWaiter waiter; |
| 990 WebSocketStreamCreateHelper create_helper; | 990 WebSocketStreamCreateHelper create_helper; |
| 991 scoped_ptr<HttpStreamRequest> request( | 991 scoped_ptr<HttpStreamRequest> request( |
| 992 session->websocket_handshake_stream_factory() | 992 session->http_stream_factory_for_websocket() |
| 993 ->RequestWebSocketHandshakeStream(request_info, | 993 ->RequestWebSocketHandshakeStream(request_info, |
| 994 DEFAULT_PRIORITY, | 994 DEFAULT_PRIORITY, |
| 995 ssl_config, | 995 ssl_config, |
| 996 ssl_config, | 996 ssl_config, |
| 997 &waiter, | 997 &waiter, |
| 998 &create_helper, | 998 &create_helper, |
| 999 BoundNetLog())); | 999 BoundNetLog())); |
| 1000 waiter.WaitForStream(); | 1000 waiter.WaitForStream(); |
| 1001 EXPECT_TRUE(waiter.stream_done()); | 1001 EXPECT_TRUE(waiter.stream_done()); |
| 1002 EXPECT_TRUE(NULL == waiter.stream()); | 1002 EXPECT_TRUE(NULL == waiter.stream()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1030 // Now request a stream. | 1030 // Now request a stream. |
| 1031 HttpRequestInfo request_info; | 1031 HttpRequestInfo request_info; |
| 1032 request_info.method = "GET"; | 1032 request_info.method = "GET"; |
| 1033 request_info.url = GURL("ws://www.google.com"); | 1033 request_info.url = GURL("ws://www.google.com"); |
| 1034 request_info.load_flags = 0; | 1034 request_info.load_flags = 0; |
| 1035 | 1035 |
| 1036 SSLConfig ssl_config; | 1036 SSLConfig ssl_config; |
| 1037 StreamRequestWaiter waiter; | 1037 StreamRequestWaiter waiter; |
| 1038 WebSocketStreamCreateHelper create_helper; | 1038 WebSocketStreamCreateHelper create_helper; |
| 1039 scoped_ptr<HttpStreamRequest> request( | 1039 scoped_ptr<HttpStreamRequest> request( |
| 1040 session->websocket_handshake_stream_factory() | 1040 session->http_stream_factory_for_websocket() |
| 1041 ->RequestWebSocketHandshakeStream(request_info, | 1041 ->RequestWebSocketHandshakeStream(request_info, |
| 1042 DEFAULT_PRIORITY, | 1042 DEFAULT_PRIORITY, |
| 1043 ssl_config, | 1043 ssl_config, |
| 1044 ssl_config, | 1044 ssl_config, |
| 1045 &waiter, | 1045 &waiter, |
| 1046 &create_helper, | 1046 &create_helper, |
| 1047 BoundNetLog())); | 1047 BoundNetLog())); |
| 1048 waiter.WaitForStream(); | 1048 waiter.WaitForStream(); |
| 1049 EXPECT_TRUE(waiter.stream_done()); | 1049 EXPECT_TRUE(waiter.stream_done()); |
| 1050 EXPECT_TRUE(NULL == waiter.stream()); | 1050 EXPECT_TRUE(NULL == waiter.stream()); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1144 // Now request a stream. | 1144 // Now request a stream. |
| 1145 HttpRequestInfo request_info; | 1145 HttpRequestInfo request_info; |
| 1146 request_info.method = "GET"; | 1146 request_info.method = "GET"; |
| 1147 request_info.url = GURL("wss://www.google.com"); | 1147 request_info.url = GURL("wss://www.google.com"); |
| 1148 request_info.load_flags = 0; | 1148 request_info.load_flags = 0; |
| 1149 | 1149 |
| 1150 SSLConfig ssl_config; | 1150 SSLConfig ssl_config; |
| 1151 StreamRequestWaiter waiter1; | 1151 StreamRequestWaiter waiter1; |
| 1152 WebSocketStreamCreateHelper create_helper; | 1152 WebSocketStreamCreateHelper create_helper; |
| 1153 scoped_ptr<HttpStreamRequest> request1( | 1153 scoped_ptr<HttpStreamRequest> request1( |
| 1154 session->websocket_handshake_stream_factory() | 1154 session->http_stream_factory_for_websocket() |
| 1155 ->RequestWebSocketHandshakeStream(request_info, | 1155 ->RequestWebSocketHandshakeStream(request_info, |
| 1156 DEFAULT_PRIORITY, | 1156 DEFAULT_PRIORITY, |
| 1157 ssl_config, | 1157 ssl_config, |
| 1158 ssl_config, | 1158 ssl_config, |
| 1159 &waiter1, | 1159 &waiter1, |
| 1160 &create_helper, | 1160 &create_helper, |
| 1161 BoundNetLog())); | 1161 BoundNetLog())); |
| 1162 waiter1.WaitForStream(); | 1162 waiter1.WaitForStream(); |
| 1163 EXPECT_TRUE(waiter1.stream_done()); | 1163 EXPECT_TRUE(waiter1.stream_done()); |
| 1164 ASSERT_TRUE(NULL != waiter1.websocket_stream()); | 1164 ASSERT_TRUE(NULL != waiter1.websocket_stream()); |
| 1165 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 1165 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
| 1166 waiter1.websocket_stream()->type()); | 1166 waiter1.websocket_stream()->type()); |
| 1167 EXPECT_TRUE(NULL == waiter1.stream()); | 1167 EXPECT_TRUE(NULL == waiter1.stream()); |
| 1168 | 1168 |
| 1169 StreamRequestWaiter waiter2; | 1169 StreamRequestWaiter waiter2; |
| 1170 scoped_ptr<HttpStreamRequest> request2( | 1170 scoped_ptr<HttpStreamRequest> request2( |
| 1171 session->websocket_handshake_stream_factory() | 1171 session->http_stream_factory_for_websocket() |
| 1172 ->RequestWebSocketHandshakeStream(request_info, | 1172 ->RequestWebSocketHandshakeStream(request_info, |
| 1173 DEFAULT_PRIORITY, | 1173 DEFAULT_PRIORITY, |
| 1174 ssl_config, | 1174 ssl_config, |
| 1175 ssl_config, | 1175 ssl_config, |
| 1176 &waiter2, | 1176 &waiter2, |
| 1177 &create_helper, | 1177 &create_helper, |
| 1178 BoundNetLog())); | 1178 BoundNetLog())); |
| 1179 waiter2.WaitForStream(); | 1179 waiter2.WaitForStream(); |
| 1180 EXPECT_TRUE(waiter2.stream_done()); | 1180 EXPECT_TRUE(waiter2.stream_done()); |
| 1181 ASSERT_TRUE(NULL != waiter2.websocket_stream()); | 1181 ASSERT_TRUE(NULL != waiter2.websocket_stream()); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1234 | 1234 |
| 1235 session->http_server_properties()->SetAlternateProtocol( | 1235 session->http_server_properties()->SetAlternateProtocol( |
| 1236 HostPortPair("www.google.com", 8888), | 1236 HostPortPair("www.google.com", 8888), |
| 1237 9999, | 1237 9999, |
| 1238 NPN_SPDY_3); | 1238 NPN_SPDY_3); |
| 1239 | 1239 |
| 1240 SSLConfig ssl_config; | 1240 SSLConfig ssl_config; |
| 1241 StreamRequestWaiter waiter; | 1241 StreamRequestWaiter waiter; |
| 1242 WebSocketStreamCreateHelper create_helper; | 1242 WebSocketStreamCreateHelper create_helper; |
| 1243 scoped_ptr<HttpStreamRequest> request( | 1243 scoped_ptr<HttpStreamRequest> request( |
| 1244 session->websocket_handshake_stream_factory() | 1244 session->http_stream_factory_for_websocket() |
| 1245 ->RequestWebSocketHandshakeStream(request_info, | 1245 ->RequestWebSocketHandshakeStream(request_info, |
| 1246 DEFAULT_PRIORITY, | 1246 DEFAULT_PRIORITY, |
| 1247 ssl_config, | 1247 ssl_config, |
| 1248 ssl_config, | 1248 ssl_config, |
| 1249 &waiter, | 1249 &waiter, |
| 1250 &create_helper, | 1250 &create_helper, |
| 1251 BoundNetLog())); | 1251 BoundNetLog())); |
| 1252 waiter.WaitForStream(); | 1252 waiter.WaitForStream(); |
| 1253 EXPECT_TRUE(waiter.stream_done()); | 1253 EXPECT_TRUE(waiter.stream_done()); |
| 1254 EXPECT_TRUE(NULL == waiter.stream()); | 1254 EXPECT_TRUE(NULL == waiter.stream()); |
| 1255 ASSERT_TRUE(NULL != waiter.websocket_stream()); | 1255 ASSERT_TRUE(NULL != waiter.websocket_stream()); |
| 1256 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 1256 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
| 1257 waiter.websocket_stream()->type()); | 1257 waiter.websocket_stream()->type()); |
| 1258 | 1258 |
| 1259 // Make sure that there was an alternative connection | 1259 // Make sure that there was an alternative connection |
| 1260 // which consumes extra connections. | 1260 // which consumes extra connections. |
| 1261 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1261 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1262 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1262 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1263 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1263 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1264 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1264 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1265 EXPECT_EQ(2, GetSocketPoolGroupCount( | 1265 EXPECT_EQ(2, GetSocketPoolGroupCount( |
| 1266 session->GetTransportSocketPool( | 1266 session->GetTransportSocketPool( |
| 1267 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 1267 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
| 1268 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1268 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1269 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 1269 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
| 1270 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 1270 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 1271 | 1271 |
| 1272 // Make sure there is no orphaned job. it is already canceled. | 1272 // Make sure there is no orphaned job. it is already canceled. |
| 1273 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 1273 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
| 1274 session->websocket_handshake_stream_factory())->num_orphaned_jobs()); | 1274 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
| 1275 } | 1275 } |
| 1276 | 1276 |
| 1277 } // namespace | 1277 } // namespace |
| 1278 | 1278 |
| 1279 } // namespace net | 1279 } // namespace net |
| OLD | NEW |