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 <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2224 test::QuicTestPacketMaker& server_packet_maker() { | 2224 test::QuicTestPacketMaker& server_packet_maker() { |
2225 return server_packet_maker_; | 2225 return server_packet_maker_; |
2226 } | 2226 } |
2227 | 2227 |
2228 MockClientSocketFactory& socket_factory() { return socket_factory_; } | 2228 MockClientSocketFactory& socket_factory() { return socket_factory_; } |
2229 | 2229 |
2230 HttpNetworkSession* session() { return session_.get(); } | 2230 HttpNetworkSession* session() { return session_.get(); } |
2231 | 2231 |
2232 const GURL default_url_; | 2232 const GURL default_url_; |
2233 | 2233 |
2234 QuicStreamId GetNthClientInitiatedStreamId(int n) { | |
2235 return test::GetNthClientInitiatedStreamId(GetParam(), n); | |
2236 } | |
2237 | |
2238 private: | 2234 private: |
2239 MockClock clock_; | 2235 MockClock clock_; |
2240 test::QuicTestPacketMaker client_packet_maker_; | 2236 test::QuicTestPacketMaker client_packet_maker_; |
2241 test::QuicTestPacketMaker server_packet_maker_; | 2237 test::QuicTestPacketMaker server_packet_maker_; |
2242 MockClientSocketFactory socket_factory_; | 2238 MockClientSocketFactory socket_factory_; |
2243 std::unique_ptr<HttpNetworkSession> session_; | 2239 std::unique_ptr<HttpNetworkSession> session_; |
2244 test::MockRandom random_generator_; | 2240 test::MockRandom random_generator_; |
2245 MockCertVerifier cert_verifier_; | 2241 MockCertVerifier cert_verifier_; |
2246 ProofVerifyDetailsChromium verify_details_; | 2242 ProofVerifyDetailsChromium verify_details_; |
2247 MockCryptoClientStreamFactory crypto_client_stream_factory_; | 2243 MockCryptoClientStreamFactory crypto_client_stream_factory_; |
(...skipping 14 matching lines...) Expand all Loading... |
2262 TEST_P(HttpStreamFactoryBidirectionalQuicTest, | 2258 TEST_P(HttpStreamFactoryBidirectionalQuicTest, |
2263 RequestBidirectionalStreamImplQuicAlternative) { | 2259 RequestBidirectionalStreamImplQuicAlternative) { |
2264 MockQuicData mock_quic_data; | 2260 MockQuicData mock_quic_data; |
2265 SpdyPriority priority = | 2261 SpdyPriority priority = |
2266 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); | 2262 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); |
2267 size_t spdy_headers_frame_length; | 2263 size_t spdy_headers_frame_length; |
2268 QuicStreamOffset header_stream_offset = 0; | 2264 QuicStreamOffset header_stream_offset = 0; |
2269 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( | 2265 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( |
2270 1, &header_stream_offset)); | 2266 1, &header_stream_offset)); |
2271 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( | 2267 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( |
2272 2, GetNthClientInitiatedStreamId(0), /*should_include_version=*/true, | 2268 2, test::kClientDataStreamId1, /*should_include_version=*/true, |
2273 /*fin=*/true, priority, | 2269 /*fin=*/true, priority, |
2274 client_packet_maker().GetRequestHeaders("GET", "https", "/"), | 2270 client_packet_maker().GetRequestHeaders("GET", "https", "/"), |
2275 &spdy_headers_frame_length, &header_stream_offset)); | 2271 &spdy_headers_frame_length, &header_stream_offset)); |
2276 size_t spdy_response_headers_frame_length; | 2272 size_t spdy_response_headers_frame_length; |
2277 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2273 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2278 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, | 2274 1, test::kClientDataStreamId1, /*should_include_version=*/false, |
2279 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2275 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2280 &spdy_response_headers_frame_length)); | 2276 &spdy_response_headers_frame_length)); |
2281 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2277 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2282 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2278 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2283 | 2279 |
2284 // Add hanging data for http job. | 2280 // Add hanging data for http job. |
2285 std::unique_ptr<StaticSocketDataProvider> hanging_data; | 2281 std::unique_ptr<StaticSocketDataProvider> hanging_data; |
2286 hanging_data.reset(new StaticSocketDataProvider()); | 2282 hanging_data.reset(new StaticSocketDataProvider()); |
2287 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 2283 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
2288 hanging_data->set_connect_data(hanging_connect); | 2284 hanging_data->set_connect_data(hanging_connect); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2390 RequestBidirectionalStreamImplHttpJobFailsQuicJobSucceeds) { | 2386 RequestBidirectionalStreamImplHttpJobFailsQuicJobSucceeds) { |
2391 // Set up Quic data. | 2387 // Set up Quic data. |
2392 MockQuicData mock_quic_data; | 2388 MockQuicData mock_quic_data; |
2393 SpdyPriority priority = | 2389 SpdyPriority priority = |
2394 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); | 2390 ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY); |
2395 size_t spdy_headers_frame_length; | 2391 size_t spdy_headers_frame_length; |
2396 QuicStreamOffset header_stream_offset = 0; | 2392 QuicStreamOffset header_stream_offset = 0; |
2397 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( | 2393 mock_quic_data.AddWrite(client_packet_maker().MakeInitialSettingsPacket( |
2398 1, &header_stream_offset)); | 2394 1, &header_stream_offset)); |
2399 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( | 2395 mock_quic_data.AddWrite(client_packet_maker().MakeRequestHeadersPacket( |
2400 2, GetNthClientInitiatedStreamId(0), /*should_include_version=*/true, | 2396 2, test::kClientDataStreamId1, /*should_include_version=*/true, |
2401 /*fin=*/true, priority, | 2397 /*fin=*/true, priority, |
2402 client_packet_maker().GetRequestHeaders("GET", "https", "/"), | 2398 client_packet_maker().GetRequestHeaders("GET", "https", "/"), |
2403 &spdy_headers_frame_length, &header_stream_offset)); | 2399 &spdy_headers_frame_length, &header_stream_offset)); |
2404 size_t spdy_response_headers_frame_length; | 2400 size_t spdy_response_headers_frame_length; |
2405 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2401 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2406 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, | 2402 1, test::kClientDataStreamId1, /*should_include_version=*/false, |
2407 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2403 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2408 &spdy_response_headers_frame_length)); | 2404 &spdy_response_headers_frame_length)); |
2409 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2405 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2410 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2406 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2411 | 2407 |
2412 // Make the http job fail. | 2408 // Make the http job fail. |
2413 std::unique_ptr<StaticSocketDataProvider> http_job_data; | 2409 std::unique_ptr<StaticSocketDataProvider> http_job_data; |
2414 http_job_data.reset(new StaticSocketDataProvider()); | 2410 http_job_data.reset(new StaticSocketDataProvider()); |
2415 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); | 2411 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); |
2416 http_job_data->set_connect_data(failed_connect); | 2412 http_job_data->set_connect_data(failed_connect); |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2702 session->GetTransportSocketPool( | 2698 session->GetTransportSocketPool( |
2703 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2699 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2704 EXPECT_EQ(1, GetSocketPoolGroupCount( | 2700 EXPECT_EQ(1, GetSocketPoolGroupCount( |
2705 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2701 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2706 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2702 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
2707 } | 2703 } |
2708 | 2704 |
2709 } // namespace | 2705 } // namespace |
2710 | 2706 |
2711 } // namespace net | 2707 } // namespace net |
OLD | NEW |