| 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 | |
| 9 #include <string> | 8 #include <string> |
| 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "net/base/port_util.h" | 14 #include "net/base/port_util.h" |
| 15 #include "net/base/test_completion_callback.h" | 15 #include "net/base/test_completion_callback.h" |
| 16 #include "net/cert/mock_cert_verifier.h" | 16 #include "net/cert/mock_cert_verifier.h" |
| 17 #include "net/dns/mock_host_resolver.h" | 17 #include "net/dns/mock_host_resolver.h" |
| 18 #include "net/http/http_auth_handler_factory.h" | 18 #include "net/http/http_auth_handler_factory.h" |
| 19 #include "net/http/http_network_session.h" | 19 #include "net/http/http_network_session.h" |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 | 279 |
| 280 private: | 280 private: |
| 281 base::WeakPtr<SpdySession> spdy_session_; | 281 base::WeakPtr<SpdySession> spdy_session_; |
| 282 }; | 282 }; |
| 283 | 283 |
| 284 class WebSocketBasicHandshakeStream : public MockWebSocketHandshakeStream { | 284 class WebSocketBasicHandshakeStream : public MockWebSocketHandshakeStream { |
| 285 public: | 285 public: |
| 286 explicit WebSocketBasicHandshakeStream( | 286 explicit WebSocketBasicHandshakeStream( |
| 287 scoped_ptr<ClientSocketHandle> connection) | 287 scoped_ptr<ClientSocketHandle> connection) |
| 288 : MockWebSocketHandshakeStream(kStreamTypeBasic), | 288 : MockWebSocketHandshakeStream(kStreamTypeBasic), |
| 289 connection_(connection.Pass()) {} | 289 connection_(std::move(connection)) {} |
| 290 | 290 |
| 291 ~WebSocketBasicHandshakeStream() override { | 291 ~WebSocketBasicHandshakeStream() override { |
| 292 connection_->socket()->Disconnect(); | 292 connection_->socket()->Disconnect(); |
| 293 } | 293 } |
| 294 | 294 |
| 295 ClientSocketHandle* connection() { return connection_.get(); } | 295 ClientSocketHandle* connection() { return connection_.get(); } |
| 296 | 296 |
| 297 private: | 297 private: |
| 298 scoped_ptr<ClientSocketHandle> connection_; | 298 scoped_ptr<ClientSocketHandle> connection_; |
| 299 }; | 299 }; |
| 300 | 300 |
| 301 class WebSocketStreamCreateHelper | 301 class WebSocketStreamCreateHelper |
| 302 : public WebSocketHandshakeStreamBase::CreateHelper { | 302 : public WebSocketHandshakeStreamBase::CreateHelper { |
| 303 public: | 303 public: |
| 304 ~WebSocketStreamCreateHelper() override {} | 304 ~WebSocketStreamCreateHelper() override {} |
| 305 | 305 |
| 306 WebSocketHandshakeStreamBase* CreateBasicStream( | 306 WebSocketHandshakeStreamBase* CreateBasicStream( |
| 307 scoped_ptr<ClientSocketHandle> connection, | 307 scoped_ptr<ClientSocketHandle> connection, |
| 308 bool using_proxy) override { | 308 bool using_proxy) override { |
| 309 return new WebSocketBasicHandshakeStream(connection.Pass()); | 309 return new WebSocketBasicHandshakeStream(std::move(connection)); |
| 310 } | 310 } |
| 311 | 311 |
| 312 WebSocketHandshakeStreamBase* CreateSpdyStream( | 312 WebSocketHandshakeStreamBase* CreateSpdyStream( |
| 313 const base::WeakPtr<SpdySession>& spdy_session, | 313 const base::WeakPtr<SpdySession>& spdy_session, |
| 314 bool use_relative_url) override { | 314 bool use_relative_url) override { |
| 315 return new WebSocketSpdyHandshakeStream(spdy_session); | 315 return new WebSocketSpdyHandshakeStream(spdy_session); |
| 316 } | 316 } |
| 317 }; | 317 }; |
| 318 | 318 |
| 319 struct TestCase { | 319 struct TestCase { |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 session_deps.host_resolver.get(), | 479 session_deps.host_resolver.get(), |
| 480 session_deps.cert_verifier.get()); | 480 session_deps.cert_verifier.get()); |
| 481 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 481 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 482 new CapturePreconnectsSSLSocketPool( | 482 new CapturePreconnectsSSLSocketPool( |
| 483 session_deps.host_resolver.get(), | 483 session_deps.host_resolver.get(), |
| 484 session_deps.cert_verifier.get()); | 484 session_deps.cert_verifier.get()); |
| 485 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 485 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 486 new MockClientSocketPoolManager); | 486 new MockClientSocketPoolManager); |
| 487 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 487 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 488 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 488 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
| 489 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 489 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 490 PreconnectHelper(kTests[i], session.get()); | 490 PreconnectHelper(kTests[i], session.get()); |
| 491 if (kTests[i].ssl) | 491 if (kTests[i].ssl) |
| 492 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 492 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 493 else | 493 else |
| 494 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); | 494 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); |
| 495 } | 495 } |
| 496 } | 496 } |
| 497 | 497 |
| 498 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { | 498 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { |
| 499 for (size_t i = 0; i < arraysize(kTests); ++i) { | 499 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 500 SpdySessionDependencies session_deps( | 500 SpdySessionDependencies session_deps( |
| 501 GetParam(), ProxyService::CreateFixed("http_proxy")); | 501 GetParam(), ProxyService::CreateFixed("http_proxy")); |
| 502 scoped_ptr<HttpNetworkSession> session( | 502 scoped_ptr<HttpNetworkSession> session( |
| 503 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 503 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 504 HttpNetworkSessionPeer peer(session.get()); | 504 HttpNetworkSessionPeer peer(session.get()); |
| 505 HostPortPair proxy_host("http_proxy", 80); | 505 HostPortPair proxy_host("http_proxy", 80); |
| 506 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 506 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
| 507 new CapturePreconnectsHttpProxySocketPool( | 507 new CapturePreconnectsHttpProxySocketPool( |
| 508 session_deps.host_resolver.get(), | 508 session_deps.host_resolver.get(), |
| 509 session_deps.cert_verifier.get()); | 509 session_deps.cert_verifier.get()); |
| 510 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 510 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 511 new CapturePreconnectsSSLSocketPool( | 511 new CapturePreconnectsSSLSocketPool( |
| 512 session_deps.host_resolver.get(), | 512 session_deps.host_resolver.get(), |
| 513 session_deps.cert_verifier.get()); | 513 session_deps.cert_verifier.get()); |
| 514 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 514 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 515 new MockClientSocketPoolManager); | 515 new MockClientSocketPoolManager); |
| 516 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); | 516 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); |
| 517 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 517 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 518 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 518 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 519 PreconnectHelper(kTests[i], session.get()); | 519 PreconnectHelper(kTests[i], session.get()); |
| 520 if (kTests[i].ssl) | 520 if (kTests[i].ssl) |
| 521 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 521 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 522 else | 522 else |
| 523 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); | 523 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); |
| 524 } | 524 } |
| 525 } | 525 } |
| 526 | 526 |
| 527 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { | 527 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { |
| 528 for (size_t i = 0; i < arraysize(kTests); ++i) { | 528 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 529 SpdySessionDependencies session_deps( | 529 SpdySessionDependencies session_deps( |
| 530 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); | 530 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); |
| 531 scoped_ptr<HttpNetworkSession> session( | 531 scoped_ptr<HttpNetworkSession> session( |
| 532 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 532 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 533 HttpNetworkSessionPeer peer(session.get()); | 533 HttpNetworkSessionPeer peer(session.get()); |
| 534 HostPortPair proxy_host("socks_proxy", 1080); | 534 HostPortPair proxy_host("socks_proxy", 1080); |
| 535 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = | 535 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = |
| 536 new CapturePreconnectsSOCKSSocketPool( | 536 new CapturePreconnectsSOCKSSocketPool( |
| 537 session_deps.host_resolver.get(), | 537 session_deps.host_resolver.get(), |
| 538 session_deps.cert_verifier.get()); | 538 session_deps.cert_verifier.get()); |
| 539 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 539 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 540 new CapturePreconnectsSSLSocketPool( | 540 new CapturePreconnectsSSLSocketPool( |
| 541 session_deps.host_resolver.get(), | 541 session_deps.host_resolver.get(), |
| 542 session_deps.cert_verifier.get()); | 542 session_deps.cert_verifier.get()); |
| 543 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 543 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 544 new MockClientSocketPoolManager); | 544 new MockClientSocketPoolManager); |
| 545 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); | 545 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); |
| 546 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 546 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 547 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 547 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 548 PreconnectHelper(kTests[i], session.get()); | 548 PreconnectHelper(kTests[i], session.get()); |
| 549 if (kTests[i].ssl) | 549 if (kTests[i].ssl) |
| 550 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 550 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 551 else | 551 else |
| 552 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); | 552 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); |
| 553 } | 553 } |
| 554 } | 554 } |
| 555 | 555 |
| 556 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { | 556 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { |
| 557 for (size_t i = 0; i < arraysize(kTests); ++i) { | 557 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 572 session_deps.host_resolver.get(), | 572 session_deps.host_resolver.get(), |
| 573 session_deps.cert_verifier.get()); | 573 session_deps.cert_verifier.get()); |
| 574 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 574 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 575 new CapturePreconnectsSSLSocketPool( | 575 new CapturePreconnectsSSLSocketPool( |
| 576 session_deps.host_resolver.get(), | 576 session_deps.host_resolver.get(), |
| 577 session_deps.cert_verifier.get()); | 577 session_deps.cert_verifier.get()); |
| 578 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 578 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 579 new MockClientSocketPoolManager); | 579 new MockClientSocketPoolManager); |
| 580 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 580 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 581 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 581 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
| 582 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 582 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 583 PreconnectHelper(kTests[i], session.get()); | 583 PreconnectHelper(kTests[i], session.get()); |
| 584 // We shouldn't be preconnecting if we have an existing session, which is | 584 // We shouldn't be preconnecting if we have an existing session, which is |
| 585 // the case for https://www.google.com. | 585 // the case for https://www.google.com. |
| 586 if (kTests[i].ssl) | 586 if (kTests[i].ssl) |
| 587 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); | 587 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); |
| 588 else | 588 else |
| 589 EXPECT_EQ(kTests[i].num_streams, | 589 EXPECT_EQ(kTests[i].num_streams, |
| 590 transport_conn_pool->last_num_streams()); | 590 transport_conn_pool->last_num_streams()); |
| 591 } | 591 } |
| 592 } | 592 } |
| 593 | 593 |
| 594 // Verify that preconnects to unsafe ports are cancelled before they reach | 594 // Verify that preconnects to unsafe ports are cancelled before they reach |
| 595 // the SocketPool. | 595 // the SocketPool. |
| 596 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { | 596 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { |
| 597 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); | 597 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); |
| 598 | 598 |
| 599 SpdySessionDependencies session_deps( | 599 SpdySessionDependencies session_deps( |
| 600 GetParam(), ProxyService::CreateDirect()); | 600 GetParam(), ProxyService::CreateDirect()); |
| 601 scoped_ptr<HttpNetworkSession> session( | 601 scoped_ptr<HttpNetworkSession> session( |
| 602 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 602 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 603 HttpNetworkSessionPeer peer(session.get()); | 603 HttpNetworkSessionPeer peer(session.get()); |
| 604 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 604 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 605 new CapturePreconnectsTransportSocketPool( | 605 new CapturePreconnectsTransportSocketPool( |
| 606 session_deps.host_resolver.get(), | 606 session_deps.host_resolver.get(), |
| 607 session_deps.cert_verifier.get()); | 607 session_deps.cert_verifier.get()); |
| 608 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 608 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 609 new MockClientSocketPoolManager); | 609 new MockClientSocketPoolManager); |
| 610 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 610 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 611 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 611 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 612 | 612 |
| 613 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); | 613 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); |
| 614 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); | 614 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); |
| 615 } | 615 } |
| 616 | 616 |
| 617 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { | 617 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { |
| 618 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; | 618 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; |
| 619 SpdySessionDependencies session_deps( | 619 SpdySessionDependencies session_deps( |
| 620 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); | 620 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); |
| 621 | 621 |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 822 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
| 823 new CapturePreconnectsHttpProxySocketPool( | 823 new CapturePreconnectsHttpProxySocketPool( |
| 824 session_deps.host_resolver.get(), session_deps.cert_verifier.get()); | 824 session_deps.host_resolver.get(), session_deps.cert_verifier.get()); |
| 825 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 825 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 826 new CapturePreconnectsSSLSocketPool(session_deps.host_resolver.get(), | 826 new CapturePreconnectsSSLSocketPool(session_deps.host_resolver.get(), |
| 827 session_deps.cert_verifier.get()); | 827 session_deps.cert_verifier.get()); |
| 828 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 828 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 829 new MockClientSocketPoolManager); | 829 new MockClientSocketPoolManager); |
| 830 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); | 830 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); |
| 831 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 831 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 832 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 832 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 833 PreconnectHelperForURL(num_streams, url, session.get()); | 833 PreconnectHelperForURL(num_streams, url, session.get()); |
| 834 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); | 834 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); |
| 835 } | 835 } |
| 836 } | 836 } |
| 837 | 837 |
| 838 TEST_P(HttpStreamFactoryTest, QuicDisablePreConnectIfZeroRtt) { | 838 TEST_P(HttpStreamFactoryTest, QuicDisablePreConnectIfZeroRtt) { |
| 839 for (int num_streams = 1; num_streams < 3; ++num_streams) { | 839 for (int num_streams = 1; num_streams < 3; ++num_streams) { |
| 840 GURL url = GURL("https://www.google.com"); | 840 GURL url = GURL("https://www.google.com"); |
| 841 | 841 |
| 842 // Set up QUIC as alternative_service. | 842 // Set up QUIC as alternative_service. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 867 test::QuicStreamFactoryPeer::CacheDummyServerConfig( | 867 test::QuicStreamFactoryPeer::CacheDummyServerConfig( |
| 868 factory, QuicServerId(host_port_pair, PRIVACY_MODE_DISABLED)); | 868 factory, QuicServerId(host_port_pair, PRIVACY_MODE_DISABLED)); |
| 869 | 869 |
| 870 HttpNetworkSessionPeer peer(session.get()); | 870 HttpNetworkSessionPeer peer(session.get()); |
| 871 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 871 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 872 new CapturePreconnectsTransportSocketPool( | 872 new CapturePreconnectsTransportSocketPool( |
| 873 session_deps.host_resolver.get(), session_deps.cert_verifier.get()); | 873 session_deps.host_resolver.get(), session_deps.cert_verifier.get()); |
| 874 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 874 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 875 new MockClientSocketPoolManager); | 875 new MockClientSocketPoolManager); |
| 876 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 876 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 877 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 877 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
| 878 | 878 |
| 879 HttpRequestInfo request; | 879 HttpRequestInfo request; |
| 880 request.method = "GET"; | 880 request.method = "GET"; |
| 881 request.url = url; | 881 request.url = url; |
| 882 request.load_flags = 0; | 882 request.load_flags = 0; |
| 883 | 883 |
| 884 SSLConfig ssl_config; | 884 SSLConfig ssl_config; |
| 885 session->ssl_config_service()->GetSSLConfig(&ssl_config); | 885 session->ssl_config_service()->GetSSLConfig(&ssl_config); |
| 886 session->http_stream_factory()->PreconnectStreams(num_streams, request, | 886 session->http_stream_factory()->PreconnectStreams(num_streams, request, |
| 887 ssl_config, ssl_config); | 887 ssl_config, ssl_config); |
| (...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1681 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 1681 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 1682 | 1682 |
| 1683 // Make sure there is no orphaned job. it is already canceled. | 1683 // Make sure there is no orphaned job. it is already canceled. |
| 1684 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 1684 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
| 1685 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); | 1685 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
| 1686 } | 1686 } |
| 1687 | 1687 |
| 1688 } // namespace | 1688 } // namespace |
| 1689 | 1689 |
| 1690 } // namespace net | 1690 } // namespace net |
| OLD | NEW |