| 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 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 | 422 |
| 423 INSTANTIATE_TEST_CASE_P(NextProto, | 423 INSTANTIATE_TEST_CASE_P(NextProto, |
| 424 HttpStreamFactoryTest, | 424 HttpStreamFactoryTest, |
| 425 testing::Values(kProtoSPDY31, | 425 testing::Values(kProtoSPDY31, |
| 426 kProtoHTTP2)); | 426 kProtoHTTP2)); |
| 427 | 427 |
| 428 TEST_P(HttpStreamFactoryTest, PreconnectDirect) { | 428 TEST_P(HttpStreamFactoryTest, PreconnectDirect) { |
| 429 for (size_t i = 0; i < arraysize(kTests); ++i) { | 429 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 430 SpdySessionDependencies session_deps( | 430 SpdySessionDependencies session_deps( |
| 431 GetParam(), ProxyService::CreateDirect()); | 431 GetParam(), ProxyService::CreateDirect()); |
| 432 scoped_refptr<HttpNetworkSession> session( | 432 scoped_ptr<HttpNetworkSession> session( |
| 433 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 433 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 434 HttpNetworkSessionPeer peer(session); | 434 HttpNetworkSessionPeer peer(session.get()); |
| 435 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 435 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 436 new CapturePreconnectsTransportSocketPool( | 436 new CapturePreconnectsTransportSocketPool( |
| 437 session_deps.host_resolver.get(), | 437 session_deps.host_resolver.get(), |
| 438 session_deps.cert_verifier.get()); | 438 session_deps.cert_verifier.get()); |
| 439 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 439 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 440 new CapturePreconnectsSSLSocketPool( | 440 new CapturePreconnectsSSLSocketPool( |
| 441 session_deps.host_resolver.get(), | 441 session_deps.host_resolver.get(), |
| 442 session_deps.cert_verifier.get()); | 442 session_deps.cert_verifier.get()); |
| 443 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 443 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 444 new MockClientSocketPoolManager); | 444 new MockClientSocketPoolManager); |
| 445 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 445 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 446 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 446 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
| 447 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 447 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 448 PreconnectHelper(kTests[i], session.get()); | 448 PreconnectHelper(kTests[i], session.get()); |
| 449 if (kTests[i].ssl) | 449 if (kTests[i].ssl) |
| 450 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 450 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 451 else | 451 else |
| 452 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); | 452 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); |
| 453 } | 453 } |
| 454 } | 454 } |
| 455 | 455 |
| 456 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { | 456 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { |
| 457 for (size_t i = 0; i < arraysize(kTests); ++i) { | 457 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 458 SpdySessionDependencies session_deps( | 458 SpdySessionDependencies session_deps( |
| 459 GetParam(), ProxyService::CreateFixed("http_proxy")); | 459 GetParam(), ProxyService::CreateFixed("http_proxy")); |
| 460 scoped_refptr<HttpNetworkSession> session( | 460 scoped_ptr<HttpNetworkSession> session( |
| 461 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 461 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 462 HttpNetworkSessionPeer peer(session); | 462 HttpNetworkSessionPeer peer(session.get()); |
| 463 HostPortPair proxy_host("http_proxy", 80); | 463 HostPortPair proxy_host("http_proxy", 80); |
| 464 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 464 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
| 465 new CapturePreconnectsHttpProxySocketPool( | 465 new CapturePreconnectsHttpProxySocketPool( |
| 466 session_deps.host_resolver.get(), | 466 session_deps.host_resolver.get(), |
| 467 session_deps.cert_verifier.get()); | 467 session_deps.cert_verifier.get()); |
| 468 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 468 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 469 new CapturePreconnectsSSLSocketPool( | 469 new CapturePreconnectsSSLSocketPool( |
| 470 session_deps.host_resolver.get(), | 470 session_deps.host_resolver.get(), |
| 471 session_deps.cert_verifier.get()); | 471 session_deps.cert_verifier.get()); |
| 472 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 472 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 473 new MockClientSocketPoolManager); | 473 new MockClientSocketPoolManager); |
| 474 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); | 474 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); |
| 475 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 475 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 476 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 476 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 477 PreconnectHelper(kTests[i], session.get()); | 477 PreconnectHelper(kTests[i], session.get()); |
| 478 if (kTests[i].ssl) | 478 if (kTests[i].ssl) |
| 479 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 479 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 480 else | 480 else |
| 481 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); | 481 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); |
| 482 } | 482 } |
| 483 } | 483 } |
| 484 | 484 |
| 485 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { | 485 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { |
| 486 for (size_t i = 0; i < arraysize(kTests); ++i) { | 486 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 487 SpdySessionDependencies session_deps( | 487 SpdySessionDependencies session_deps( |
| 488 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); | 488 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); |
| 489 scoped_refptr<HttpNetworkSession> session( | 489 scoped_ptr<HttpNetworkSession> session( |
| 490 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 490 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 491 HttpNetworkSessionPeer peer(session); | 491 HttpNetworkSessionPeer peer(session.get()); |
| 492 HostPortPair proxy_host("socks_proxy", 1080); | 492 HostPortPair proxy_host("socks_proxy", 1080); |
| 493 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = | 493 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = |
| 494 new CapturePreconnectsSOCKSSocketPool( | 494 new CapturePreconnectsSOCKSSocketPool( |
| 495 session_deps.host_resolver.get(), | 495 session_deps.host_resolver.get(), |
| 496 session_deps.cert_verifier.get()); | 496 session_deps.cert_verifier.get()); |
| 497 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 497 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 498 new CapturePreconnectsSSLSocketPool( | 498 new CapturePreconnectsSSLSocketPool( |
| 499 session_deps.host_resolver.get(), | 499 session_deps.host_resolver.get(), |
| 500 session_deps.cert_verifier.get()); | 500 session_deps.cert_verifier.get()); |
| 501 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 501 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 502 new MockClientSocketPoolManager); | 502 new MockClientSocketPoolManager); |
| 503 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); | 503 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); |
| 504 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 504 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 505 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 505 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 506 PreconnectHelper(kTests[i], session.get()); | 506 PreconnectHelper(kTests[i], session.get()); |
| 507 if (kTests[i].ssl) | 507 if (kTests[i].ssl) |
| 508 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 508 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 509 else | 509 else |
| 510 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); | 510 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); |
| 511 } | 511 } |
| 512 } | 512 } |
| 513 | 513 |
| 514 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { | 514 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { |
| 515 for (size_t i = 0; i < arraysize(kTests); ++i) { | 515 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 516 SpdySessionDependencies session_deps( | 516 SpdySessionDependencies session_deps( |
| 517 GetParam(), ProxyService::CreateDirect()); | 517 GetParam(), ProxyService::CreateDirect()); |
| 518 scoped_refptr<HttpNetworkSession> session( | 518 scoped_ptr<HttpNetworkSession> session( |
| 519 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 519 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 520 HttpNetworkSessionPeer peer(session); | 520 HttpNetworkSessionPeer peer(session.get()); |
| 521 | 521 |
| 522 // Put a SpdySession in the pool. | 522 // Put a SpdySession in the pool. |
| 523 HostPortPair host_port_pair("www.google.com", 443); | 523 HostPortPair host_port_pair("www.google.com", 443); |
| 524 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), | 524 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
| 525 PRIVACY_MODE_DISABLED); | 525 PRIVACY_MODE_DISABLED); |
| 526 ignore_result(CreateFakeSpdySession(session->spdy_session_pool(), key)); | 526 ignore_result(CreateFakeSpdySession(session->spdy_session_pool(), key)); |
| 527 | 527 |
| 528 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 528 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 529 new CapturePreconnectsTransportSocketPool( | 529 new CapturePreconnectsTransportSocketPool( |
| 530 session_deps.host_resolver.get(), | 530 session_deps.host_resolver.get(), |
| (...skipping 18 matching lines...) Expand all Loading... |
| 549 } | 549 } |
| 550 } | 550 } |
| 551 | 551 |
| 552 // Verify that preconnects to unsafe ports are cancelled before they reach | 552 // Verify that preconnects to unsafe ports are cancelled before they reach |
| 553 // the SocketPool. | 553 // the SocketPool. |
| 554 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { | 554 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { |
| 555 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); | 555 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); |
| 556 | 556 |
| 557 SpdySessionDependencies session_deps( | 557 SpdySessionDependencies session_deps( |
| 558 GetParam(), ProxyService::CreateDirect()); | 558 GetParam(), ProxyService::CreateDirect()); |
| 559 scoped_refptr<HttpNetworkSession> session( | 559 scoped_ptr<HttpNetworkSession> session( |
| 560 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 560 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 561 HttpNetworkSessionPeer peer(session); | 561 HttpNetworkSessionPeer peer(session.get()); |
| 562 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 562 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 563 new CapturePreconnectsTransportSocketPool( | 563 new CapturePreconnectsTransportSocketPool( |
| 564 session_deps.host_resolver.get(), | 564 session_deps.host_resolver.get(), |
| 565 session_deps.cert_verifier.get()); | 565 session_deps.cert_verifier.get()); |
| 566 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 566 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 567 new MockClientSocketPoolManager); | 567 new MockClientSocketPoolManager); |
| 568 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 568 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 569 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 569 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 570 | 570 |
| 571 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); | 571 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); |
| 572 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); | 572 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); |
| 573 } | 573 } |
| 574 | 574 |
| 575 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { | 575 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { |
| 576 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; | 576 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; |
| 577 SpdySessionDependencies session_deps( | 577 SpdySessionDependencies session_deps( |
| 578 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); | 578 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); |
| 579 | 579 |
| 580 // First connection attempt fails | 580 // First connection attempt fails |
| 581 StaticSocketDataProvider socket_data1; | 581 StaticSocketDataProvider socket_data1; |
| 582 socket_data1.set_connect_data(MockConnect(ASYNC, ERR_ADDRESS_UNREACHABLE)); | 582 socket_data1.set_connect_data(MockConnect(ASYNC, ERR_ADDRESS_UNREACHABLE)); |
| 583 session_deps.socket_factory->AddSocketDataProvider(&socket_data1); | 583 session_deps.socket_factory->AddSocketDataProvider(&socket_data1); |
| 584 | 584 |
| 585 // Second connection attempt succeeds | 585 // Second connection attempt succeeds |
| 586 StaticSocketDataProvider socket_data2; | 586 StaticSocketDataProvider socket_data2; |
| 587 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 587 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 588 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); | 588 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); |
| 589 | 589 |
| 590 scoped_refptr<HttpNetworkSession> session( | 590 scoped_ptr<HttpNetworkSession> session( |
| 591 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 591 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 592 | 592 |
| 593 // Now request a stream. It should succeed using the second proxy in the | 593 // Now request a stream. It should succeed using the second proxy in the |
| 594 // list. | 594 // list. |
| 595 HttpRequestInfo request_info; | 595 HttpRequestInfo request_info; |
| 596 request_info.method = "GET"; | 596 request_info.method = "GET"; |
| 597 request_info.url = GURL("http://www.google.com"); | 597 request_info.url = GURL("http://www.google.com"); |
| 598 | 598 |
| 599 SSLConfig ssl_config; | 599 SSLConfig ssl_config; |
| 600 StreamRequestWaiter waiter; | 600 StreamRequestWaiter waiter; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 630 MockClientSocketFactory socket_factory; | 630 MockClientSocketFactory socket_factory; |
| 631 params.client_socket_factory = &socket_factory; | 631 params.client_socket_factory = &socket_factory; |
| 632 MockHostResolver host_resolver; | 632 MockHostResolver host_resolver; |
| 633 params.host_resolver = &host_resolver; | 633 params.host_resolver = &host_resolver; |
| 634 TransportSecurityState transport_security_state; | 634 TransportSecurityState transport_security_state; |
| 635 params.transport_security_state = &transport_security_state; | 635 params.transport_security_state = &transport_security_state; |
| 636 params.proxy_service = proxy_service.get(); | 636 params.proxy_service = proxy_service.get(); |
| 637 params.ssl_config_service = ssl_config_service.get(); | 637 params.ssl_config_service = ssl_config_service.get(); |
| 638 params.http_server_properties = http_server_properties.GetWeakPtr(); | 638 params.http_server_properties = http_server_properties.GetWeakPtr(); |
| 639 | 639 |
| 640 scoped_refptr<HttpNetworkSession> session; | 640 scoped_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); |
| 641 session = new HttpNetworkSession(params); | |
| 642 session->quic_stream_factory()->set_require_confirmation(false); | 641 session->quic_stream_factory()->set_require_confirmation(false); |
| 643 | 642 |
| 644 StaticSocketDataProvider socket_data1; | 643 StaticSocketDataProvider socket_data1; |
| 645 socket_data1.set_connect_data(MockConnect(ASYNC, mock_error)); | 644 socket_data1.set_connect_data(MockConnect(ASYNC, mock_error)); |
| 646 socket_factory.AddSocketDataProvider(&socket_data1); | 645 socket_factory.AddSocketDataProvider(&socket_data1); |
| 647 | 646 |
| 648 // Second connection attempt succeeds. | 647 // Second connection attempt succeeds. |
| 649 StaticSocketDataProvider socket_data2; | 648 StaticSocketDataProvider socket_data2; |
| 650 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 649 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 651 socket_factory.AddSocketDataProvider(&socket_data2); | 650 socket_factory.AddSocketDataProvider(&socket_data2); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 params.client_socket_factory = &socket_factory; | 692 params.client_socket_factory = &socket_factory; |
| 694 MockHostResolver host_resolver; | 693 MockHostResolver host_resolver; |
| 695 params.host_resolver = &host_resolver; | 694 params.host_resolver = &host_resolver; |
| 696 TransportSecurityState transport_security_state; | 695 TransportSecurityState transport_security_state; |
| 697 params.transport_security_state = &transport_security_state; | 696 params.transport_security_state = &transport_security_state; |
| 698 params.proxy_service = proxy_service.get(); | 697 params.proxy_service = proxy_service.get(); |
| 699 params.ssl_config_service = ssl_config_service.get(); | 698 params.ssl_config_service = ssl_config_service.get(); |
| 700 params.http_server_properties = http_server_properties.GetWeakPtr(); | 699 params.http_server_properties = http_server_properties.GetWeakPtr(); |
| 701 params.quic_max_number_of_lossy_connections = 2; | 700 params.quic_max_number_of_lossy_connections = 2; |
| 702 | 701 |
| 703 scoped_refptr<HttpNetworkSession> session; | 702 scoped_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); |
| 704 session = new HttpNetworkSession(params); | |
| 705 session->quic_stream_factory()->set_require_confirmation(false); | 703 session->quic_stream_factory()->set_require_confirmation(false); |
| 706 | 704 |
| 707 session->quic_stream_factory()->number_of_lossy_connections_[99] = | 705 session->quic_stream_factory()->number_of_lossy_connections_[99] = |
| 708 params.quic_max_number_of_lossy_connections; | 706 params.quic_max_number_of_lossy_connections; |
| 709 | 707 |
| 710 StaticSocketDataProvider socket_data2; | 708 StaticSocketDataProvider socket_data2; |
| 711 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 709 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 712 socket_factory.AddSocketDataProvider(&socket_data2); | 710 socket_factory.AddSocketDataProvider(&socket_data2); |
| 713 | 711 |
| 714 // Now request a stream. It should succeed using the second proxy in the | 712 // Now request a stream. It should succeed using the second proxy in the |
| (...skipping 26 matching lines...) Expand all Loading... |
| 741 SpdySessionDependencies session_deps( | 739 SpdySessionDependencies session_deps( |
| 742 GetParam(), ProxyService::CreateDirect()); | 740 GetParam(), ProxyService::CreateDirect()); |
| 743 | 741 |
| 744 StaticSocketDataProvider socket_data; | 742 StaticSocketDataProvider socket_data; |
| 745 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 743 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 746 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 744 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 747 | 745 |
| 748 SSLSocketDataProvider ssl(ASYNC, OK); | 746 SSLSocketDataProvider ssl(ASYNC, OK); |
| 749 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); | 747 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 750 | 748 |
| 751 scoped_refptr<HttpNetworkSession> session( | 749 scoped_ptr<HttpNetworkSession> session( |
| 752 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 750 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 753 | 751 |
| 754 // Set an existing SpdySession in the pool. | 752 // Set an existing SpdySession in the pool. |
| 755 HostPortPair host_port_pair("www.google.com", 443); | 753 HostPortPair host_port_pair("www.google.com", 443); |
| 756 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), | 754 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
| 757 PRIVACY_MODE_ENABLED); | 755 PRIVACY_MODE_ENABLED); |
| 758 | 756 |
| 759 HttpRequestInfo request_info; | 757 HttpRequestInfo request_info; |
| 760 request_info.method = "GET"; | 758 request_info.method = "GET"; |
| 761 request_info.url = GURL("https://www.google.com"); | 759 request_info.url = GURL("https://www.google.com"); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 SpdySessionDependencies session_deps( | 793 SpdySessionDependencies session_deps( |
| 796 GetParam(), ProxyService::CreateDirect()); | 794 GetParam(), ProxyService::CreateDirect()); |
| 797 | 795 |
| 798 StaticSocketDataProvider socket_data; | 796 StaticSocketDataProvider socket_data; |
| 799 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 797 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 800 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 798 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 801 | 799 |
| 802 SSLSocketDataProvider ssl(ASYNC, OK); | 800 SSLSocketDataProvider ssl(ASYNC, OK); |
| 803 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); | 801 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 804 | 802 |
| 805 scoped_refptr<HttpNetworkSession> session( | 803 scoped_ptr<HttpNetworkSession> session( |
| 806 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 804 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 807 SSLClientSocketPool* ssl_pool = session->GetSSLSocketPool( | 805 SSLClientSocketPool* ssl_pool = session->GetSSLSocketPool( |
| 808 HttpNetworkSession::NORMAL_SOCKET_POOL); | 806 HttpNetworkSession::NORMAL_SOCKET_POOL); |
| 809 | 807 |
| 810 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 0); | 808 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 0); |
| 811 | 809 |
| 812 HttpRequestInfo request_info; | 810 HttpRequestInfo request_info; |
| 813 request_info.method = "GET"; | 811 request_info.method = "GET"; |
| 814 request_info.url = GURL("https://www.google.com"); | 812 request_info.url = GURL("https://www.google.com"); |
| 815 request_info.load_flags = 0; | 813 request_info.load_flags = 0; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 845 } | 843 } |
| 846 | 844 |
| 847 TEST_P(HttpStreamFactoryTest, GetLoadState) { | 845 TEST_P(HttpStreamFactoryTest, GetLoadState) { |
| 848 SpdySessionDependencies session_deps( | 846 SpdySessionDependencies session_deps( |
| 849 GetParam(), ProxyService::CreateDirect()); | 847 GetParam(), ProxyService::CreateDirect()); |
| 850 | 848 |
| 851 StaticSocketDataProvider socket_data; | 849 StaticSocketDataProvider socket_data; |
| 852 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 850 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 853 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 851 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 854 | 852 |
| 855 scoped_refptr<HttpNetworkSession> session( | 853 scoped_ptr<HttpNetworkSession> session( |
| 856 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 854 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 857 | 855 |
| 858 HttpRequestInfo request_info; | 856 HttpRequestInfo request_info; |
| 859 request_info.method = "GET"; | 857 request_info.method = "GET"; |
| 860 request_info.url = GURL("http://www.google.com"); | 858 request_info.url = GURL("http://www.google.com"); |
| 861 | 859 |
| 862 SSLConfig ssl_config; | 860 SSLConfig ssl_config; |
| 863 StreamRequestWaiter waiter; | 861 StreamRequestWaiter waiter; |
| 864 scoped_ptr<HttpStreamRequest> request( | 862 scoped_ptr<HttpStreamRequest> request( |
| 865 session->http_stream_factory()->RequestStream( | 863 session->http_stream_factory()->RequestStream( |
| 866 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, | 864 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, |
| 867 &waiter, BoundNetLog())); | 865 &waiter, BoundNetLog())); |
| 868 | 866 |
| 869 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); | 867 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); |
| 870 | 868 |
| 871 waiter.WaitForStream(); | 869 waiter.WaitForStream(); |
| 872 } | 870 } |
| 873 | 871 |
| 874 TEST_P(HttpStreamFactoryTest, RequestHttpStream) { | 872 TEST_P(HttpStreamFactoryTest, RequestHttpStream) { |
| 875 SpdySessionDependencies session_deps( | 873 SpdySessionDependencies session_deps( |
| 876 GetParam(), ProxyService::CreateDirect()); | 874 GetParam(), ProxyService::CreateDirect()); |
| 877 | 875 |
| 878 StaticSocketDataProvider socket_data; | 876 StaticSocketDataProvider socket_data; |
| 879 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 877 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 880 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 878 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 881 | 879 |
| 882 scoped_refptr<HttpNetworkSession> session( | 880 scoped_ptr<HttpNetworkSession> session( |
| 883 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 881 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 884 | 882 |
| 885 // Now request a stream. It should succeed using the second proxy in the | 883 // Now request a stream. It should succeed using the second proxy in the |
| 886 // list. | 884 // list. |
| 887 HttpRequestInfo request_info; | 885 HttpRequestInfo request_info; |
| 888 request_info.method = "GET"; | 886 request_info.method = "GET"; |
| 889 request_info.url = GURL("http://www.google.com"); | 887 request_info.url = GURL("http://www.google.com"); |
| 890 request_info.load_flags = 0; | 888 request_info.load_flags = 0; |
| 891 | 889 |
| 892 SSLConfig ssl_config; | 890 SSLConfig ssl_config; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 922 GetParam(), ProxyService::CreateDirect()); | 920 GetParam(), ProxyService::CreateDirect()); |
| 923 | 921 |
| 924 MockRead mock_read(ASYNC, OK); | 922 MockRead mock_read(ASYNC, OK); |
| 925 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 923 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 926 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 924 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 927 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 925 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 928 | 926 |
| 929 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 927 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 930 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 928 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 931 | 929 |
| 932 scoped_refptr<HttpNetworkSession> session( | 930 scoped_ptr<HttpNetworkSession> session( |
| 933 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 931 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 934 | 932 |
| 935 // Now request a stream. | 933 // Now request a stream. |
| 936 HttpRequestInfo request_info; | 934 HttpRequestInfo request_info; |
| 937 request_info.method = "GET"; | 935 request_info.method = "GET"; |
| 938 request_info.url = GURL("https://www.google.com"); | 936 request_info.url = GURL("https://www.google.com"); |
| 939 request_info.load_flags = 0; | 937 request_info.load_flags = 0; |
| 940 | 938 |
| 941 SSLConfig ssl_config; | 939 SSLConfig ssl_config; |
| 942 StreamRequestWaiter waiter; | 940 StreamRequestWaiter waiter; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 966 } | 964 } |
| 967 | 965 |
| 968 TEST_P(HttpStreamFactoryTest, RequestHttpStreamOverProxy) { | 966 TEST_P(HttpStreamFactoryTest, RequestHttpStreamOverProxy) { |
| 969 SpdySessionDependencies session_deps( | 967 SpdySessionDependencies session_deps( |
| 970 GetParam(), ProxyService::CreateFixed("myproxy:8888")); | 968 GetParam(), ProxyService::CreateFixed("myproxy:8888")); |
| 971 | 969 |
| 972 StaticSocketDataProvider socket_data; | 970 StaticSocketDataProvider socket_data; |
| 973 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 971 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 974 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 972 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 975 | 973 |
| 976 scoped_refptr<HttpNetworkSession> session( | 974 scoped_ptr<HttpNetworkSession> session( |
| 977 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 975 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 978 | 976 |
| 979 // Now request a stream. It should succeed using the second proxy in the | 977 // Now request a stream. It should succeed using the second proxy in the |
| 980 // list. | 978 // list. |
| 981 HttpRequestInfo request_info; | 979 HttpRequestInfo request_info; |
| 982 request_info.method = "GET"; | 980 request_info.method = "GET"; |
| 983 request_info.url = GURL("http://www.google.com"); | 981 request_info.url = GURL("http://www.google.com"); |
| 984 request_info.load_flags = 0; | 982 request_info.load_flags = 0; |
| 985 | 983 |
| 986 SSLConfig ssl_config; | 984 SSLConfig ssl_config; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 } | 1016 } |
| 1019 | 1017 |
| 1020 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStream) { | 1018 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStream) { |
| 1021 SpdySessionDependencies session_deps( | 1019 SpdySessionDependencies session_deps( |
| 1022 GetParam(), ProxyService::CreateDirect()); | 1020 GetParam(), ProxyService::CreateDirect()); |
| 1023 | 1021 |
| 1024 StaticSocketDataProvider socket_data; | 1022 StaticSocketDataProvider socket_data; |
| 1025 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1023 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1026 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1024 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1027 | 1025 |
| 1028 scoped_refptr<HttpNetworkSession> session( | 1026 scoped_ptr<HttpNetworkSession> session( |
| 1029 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1027 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1030 | 1028 |
| 1031 // Now request a stream. | 1029 // Now request a stream. |
| 1032 HttpRequestInfo request_info; | 1030 HttpRequestInfo request_info; |
| 1033 request_info.method = "GET"; | 1031 request_info.method = "GET"; |
| 1034 request_info.url = GURL("ws://www.google.com"); | 1032 request_info.url = GURL("ws://www.google.com"); |
| 1035 request_info.load_flags = 0; | 1033 request_info.load_flags = 0; |
| 1036 | 1034 |
| 1037 SSLConfig ssl_config; | 1035 SSLConfig ssl_config; |
| 1038 StreamRequestWaiter waiter; | 1036 StreamRequestWaiter waiter; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1066 GetParam(), ProxyService::CreateDirect()); | 1064 GetParam(), ProxyService::CreateDirect()); |
| 1067 | 1065 |
| 1068 MockRead mock_read(ASYNC, OK); | 1066 MockRead mock_read(ASYNC, OK); |
| 1069 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1067 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1070 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1068 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1071 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1069 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1072 | 1070 |
| 1073 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1071 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1074 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1072 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1075 | 1073 |
| 1076 scoped_refptr<HttpNetworkSession> session( | 1074 scoped_ptr<HttpNetworkSession> session( |
| 1077 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1075 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1078 | 1076 |
| 1079 // Now request a stream. | 1077 // Now request a stream. |
| 1080 HttpRequestInfo request_info; | 1078 HttpRequestInfo request_info; |
| 1081 request_info.method = "GET"; | 1079 request_info.method = "GET"; |
| 1082 request_info.url = GURL("wss://www.google.com"); | 1080 request_info.url = GURL("wss://www.google.com"); |
| 1083 request_info.load_flags = 0; | 1081 request_info.load_flags = 0; |
| 1084 | 1082 |
| 1085 SSLConfig ssl_config; | 1083 SSLConfig ssl_config; |
| 1086 StreamRequestWaiter waiter; | 1084 StreamRequestWaiter waiter; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1111 | 1109 |
| 1112 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStreamOverProxy) { | 1110 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStreamOverProxy) { |
| 1113 SpdySessionDependencies session_deps( | 1111 SpdySessionDependencies session_deps( |
| 1114 GetParam(), ProxyService::CreateFixed("myproxy:8888")); | 1112 GetParam(), ProxyService::CreateFixed("myproxy:8888")); |
| 1115 | 1113 |
| 1116 MockRead read(SYNCHRONOUS, "HTTP/1.0 200 Connection established\r\n\r\n"); | 1114 MockRead read(SYNCHRONOUS, "HTTP/1.0 200 Connection established\r\n\r\n"); |
| 1117 StaticSocketDataProvider socket_data(&read, 1, 0, 0); | 1115 StaticSocketDataProvider socket_data(&read, 1, 0, 0); |
| 1118 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1116 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1119 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1117 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1120 | 1118 |
| 1121 scoped_refptr<HttpNetworkSession> session( | 1119 scoped_ptr<HttpNetworkSession> session( |
| 1122 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1120 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1123 | 1121 |
| 1124 // Now request a stream. | 1122 // Now request a stream. |
| 1125 HttpRequestInfo request_info; | 1123 HttpRequestInfo request_info; |
| 1126 request_info.method = "GET"; | 1124 request_info.method = "GET"; |
| 1127 request_info.url = GURL("ws://www.google.com"); | 1125 request_info.url = GURL("ws://www.google.com"); |
| 1128 request_info.load_flags = 0; | 1126 request_info.load_flags = 0; |
| 1129 | 1127 |
| 1130 SSLConfig ssl_config; | 1128 SSLConfig ssl_config; |
| 1131 StreamRequestWaiter waiter; | 1129 StreamRequestWaiter waiter; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1172 MockRead mock_read(ASYNC, OK); | 1170 MockRead mock_read(ASYNC, OK); |
| 1173 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); | 1171 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); |
| 1174 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1172 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1175 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1173 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1176 | 1174 |
| 1177 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1175 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1178 ssl_socket_data.SetNextProto(GetParam()); | 1176 ssl_socket_data.SetNextProto(GetParam()); |
| 1179 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1177 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1180 | 1178 |
| 1181 HostPortPair host_port_pair("www.google.com", 443); | 1179 HostPortPair host_port_pair("www.google.com", 443); |
| 1182 scoped_refptr<HttpNetworkSession> session( | 1180 scoped_ptr<HttpNetworkSession> session( |
| 1183 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1181 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1184 | 1182 |
| 1185 // Now request a stream. | 1183 // Now request a stream. |
| 1186 HttpRequestInfo request_info; | 1184 HttpRequestInfo request_info; |
| 1187 request_info.method = "GET"; | 1185 request_info.method = "GET"; |
| 1188 request_info.url = GURL("https://www.google.com"); | 1186 request_info.url = GURL("https://www.google.com"); |
| 1189 request_info.load_flags = 0; | 1187 request_info.load_flags = 0; |
| 1190 | 1188 |
| 1191 SSLConfig ssl_config; | 1189 SSLConfig ssl_config; |
| 1192 StreamRequestWaiter waiter; | 1190 StreamRequestWaiter waiter; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1224 | 1222 |
| 1225 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); | 1223 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); |
| 1226 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1224 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1227 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1225 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1228 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1226 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1229 | 1227 |
| 1230 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1228 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1231 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1229 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1232 | 1230 |
| 1233 HostPortPair host_port_pair("www.google.com", 80); | 1231 HostPortPair host_port_pair("www.google.com", 80); |
| 1234 scoped_refptr<HttpNetworkSession> | 1232 scoped_ptr<HttpNetworkSession> session( |
| 1235 session(SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1233 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1236 | 1234 |
| 1237 // Now request a stream. | 1235 // Now request a stream. |
| 1238 HttpRequestInfo request_info; | 1236 HttpRequestInfo request_info; |
| 1239 request_info.method = "GET"; | 1237 request_info.method = "GET"; |
| 1240 request_info.url = GURL("wss://www.google.com"); | 1238 request_info.url = GURL("wss://www.google.com"); |
| 1241 request_info.load_flags = 0; | 1239 request_info.load_flags = 0; |
| 1242 | 1240 |
| 1243 SSLConfig ssl_config; | 1241 SSLConfig ssl_config; |
| 1244 StreamRequestWaiter waiter1; | 1242 StreamRequestWaiter waiter1; |
| 1245 WebSocketStreamCreateHelper create_helper; | 1243 WebSocketStreamCreateHelper create_helper; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1276 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); | 1274 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); |
| 1277 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1275 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1278 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1276 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1279 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1277 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1280 | 1278 |
| 1281 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1279 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1282 ssl_socket_data.SetNextProto(GetParam()); | 1280 ssl_socket_data.SetNextProto(GetParam()); |
| 1283 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1281 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1284 | 1282 |
| 1285 HostPortPair host_port_pair("www.google.com", 80); | 1283 HostPortPair host_port_pair("www.google.com", 80); |
| 1286 scoped_refptr<HttpNetworkSession> | 1284 scoped_ptr<HttpNetworkSession> session( |
| 1287 session(SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1285 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1288 | 1286 |
| 1289 // Now request a stream. | 1287 // Now request a stream. |
| 1290 HttpRequestInfo request_info; | 1288 HttpRequestInfo request_info; |
| 1291 request_info.method = "GET"; | 1289 request_info.method = "GET"; |
| 1292 request_info.url = GURL("wss://www.google.com"); | 1290 request_info.url = GURL("wss://www.google.com"); |
| 1293 request_info.load_flags = 0; | 1291 request_info.load_flags = 0; |
| 1294 | 1292 |
| 1295 SSLConfig ssl_config; | 1293 SSLConfig ssl_config; |
| 1296 StreamRequestWaiter waiter1; | 1294 StreamRequestWaiter waiter1; |
| 1297 WebSocketStreamCreateHelper create_helper; | 1295 WebSocketStreamCreateHelper create_helper; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1358 | 1356 |
| 1359 MockRead mock_read2(ASYNC, OK); | 1357 MockRead mock_read2(ASYNC, OK); |
| 1360 SequencedSocketData socket_data2(&mock_read2, 1, nullptr, 0); | 1358 SequencedSocketData socket_data2(&mock_read2, 1, nullptr, 0); |
| 1361 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); | 1359 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); |
| 1362 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); | 1360 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); |
| 1363 | 1361 |
| 1364 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1362 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1365 ssl_socket_data.SetNextProto(GetParam()); | 1363 ssl_socket_data.SetNextProto(GetParam()); |
| 1366 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1364 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1367 | 1365 |
| 1368 scoped_refptr<HttpNetworkSession> session( | 1366 scoped_ptr<HttpNetworkSession> session( |
| 1369 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1367 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1370 | 1368 |
| 1371 // Now request a stream. | 1369 // Now request a stream. |
| 1372 HttpRequestInfo request_info; | 1370 HttpRequestInfo request_info; |
| 1373 request_info.method = "GET"; | 1371 request_info.method = "GET"; |
| 1374 request_info.url = GURL("ws://www.google.com:8888"); | 1372 request_info.url = GURL("ws://www.google.com:8888"); |
| 1375 request_info.load_flags = 0; | 1373 request_info.load_flags = 0; |
| 1376 | 1374 |
| 1377 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1375 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 1378 session->http_server_properties()->SetAlternativeService( | 1376 session->http_server_properties()->SetAlternativeService( |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1412 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 1410 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 1413 | 1411 |
| 1414 // Make sure there is no orphaned job. it is already canceled. | 1412 // Make sure there is no orphaned job. it is already canceled. |
| 1415 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 1413 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
| 1416 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); | 1414 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
| 1417 } | 1415 } |
| 1418 | 1416 |
| 1419 } // namespace | 1417 } // namespace |
| 1420 | 1418 |
| 1421 } // namespace net | 1419 } // namespace net |
| OLD | NEW |