| 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 <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 | 423 |
| 424 INSTANTIATE_TEST_CASE_P(NextProto, | 424 INSTANTIATE_TEST_CASE_P(NextProto, |
| 425 HttpStreamFactoryTest, | 425 HttpStreamFactoryTest, |
| 426 testing::Values(kProtoSPDY31, | 426 testing::Values(kProtoSPDY31, |
| 427 kProtoHTTP2)); | 427 kProtoHTTP2)); |
| 428 | 428 |
| 429 TEST_P(HttpStreamFactoryTest, PreconnectDirect) { | 429 TEST_P(HttpStreamFactoryTest, PreconnectDirect) { |
| 430 for (size_t i = 0; i < arraysize(kTests); ++i) { | 430 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 431 SpdySessionDependencies session_deps( | 431 SpdySessionDependencies session_deps( |
| 432 GetParam(), ProxyService::CreateDirect()); | 432 GetParam(), ProxyService::CreateDirect()); |
| 433 scoped_ptr<HttpNetworkSession> session( | 433 scoped_refptr<HttpNetworkSession> session( |
| 434 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 434 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 435 HttpNetworkSessionPeer peer(session.get()); | 435 HttpNetworkSessionPeer peer(session); |
| 436 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 436 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 437 new CapturePreconnectsTransportSocketPool( | 437 new CapturePreconnectsTransportSocketPool( |
| 438 session_deps.host_resolver.get(), | 438 session_deps.host_resolver.get(), |
| 439 session_deps.cert_verifier.get()); | 439 session_deps.cert_verifier.get()); |
| 440 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 440 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 441 new CapturePreconnectsSSLSocketPool( | 441 new CapturePreconnectsSSLSocketPool( |
| 442 session_deps.host_resolver.get(), | 442 session_deps.host_resolver.get(), |
| 443 session_deps.cert_verifier.get()); | 443 session_deps.cert_verifier.get()); |
| 444 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 444 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 445 new MockClientSocketPoolManager); | 445 new MockClientSocketPoolManager); |
| 446 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 446 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 447 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 447 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
| 448 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 448 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 449 PreconnectHelper(kTests[i], session.get()); | 449 PreconnectHelper(kTests[i], session.get()); |
| 450 if (kTests[i].ssl) | 450 if (kTests[i].ssl) |
| 451 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 451 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 452 else | 452 else |
| 453 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); | 453 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); |
| 454 } | 454 } |
| 455 } | 455 } |
| 456 | 456 |
| 457 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { | 457 TEST_P(HttpStreamFactoryTest, PreconnectHttpProxy) { |
| 458 for (size_t i = 0; i < arraysize(kTests); ++i) { | 458 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 459 SpdySessionDependencies session_deps( | 459 SpdySessionDependencies session_deps( |
| 460 GetParam(), ProxyService::CreateFixed("http_proxy")); | 460 GetParam(), ProxyService::CreateFixed("http_proxy")); |
| 461 scoped_ptr<HttpNetworkSession> session( | 461 scoped_refptr<HttpNetworkSession> session( |
| 462 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 462 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 463 HttpNetworkSessionPeer peer(session.get()); | 463 HttpNetworkSessionPeer peer(session); |
| 464 HostPortPair proxy_host("http_proxy", 80); | 464 HostPortPair proxy_host("http_proxy", 80); |
| 465 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 465 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
| 466 new CapturePreconnectsHttpProxySocketPool( | 466 new CapturePreconnectsHttpProxySocketPool( |
| 467 session_deps.host_resolver.get(), | 467 session_deps.host_resolver.get(), |
| 468 session_deps.cert_verifier.get()); | 468 session_deps.cert_verifier.get()); |
| 469 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 469 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 470 new CapturePreconnectsSSLSocketPool( | 470 new CapturePreconnectsSSLSocketPool( |
| 471 session_deps.host_resolver.get(), | 471 session_deps.host_resolver.get(), |
| 472 session_deps.cert_verifier.get()); | 472 session_deps.cert_verifier.get()); |
| 473 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 473 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 474 new MockClientSocketPoolManager); | 474 new MockClientSocketPoolManager); |
| 475 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); | 475 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); |
| 476 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 476 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 477 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 477 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 478 PreconnectHelper(kTests[i], session.get()); | 478 PreconnectHelper(kTests[i], session.get()); |
| 479 if (kTests[i].ssl) | 479 if (kTests[i].ssl) |
| 480 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 480 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 481 else | 481 else |
| 482 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); | 482 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); |
| 483 } | 483 } |
| 484 } | 484 } |
| 485 | 485 |
| 486 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { | 486 TEST_P(HttpStreamFactoryTest, PreconnectSocksProxy) { |
| 487 for (size_t i = 0; i < arraysize(kTests); ++i) { | 487 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 488 SpdySessionDependencies session_deps( | 488 SpdySessionDependencies session_deps( |
| 489 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); | 489 GetParam(), ProxyService::CreateFixed("socks4://socks_proxy:1080")); |
| 490 scoped_ptr<HttpNetworkSession> session( | 490 scoped_refptr<HttpNetworkSession> session( |
| 491 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 491 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 492 HttpNetworkSessionPeer peer(session.get()); | 492 HttpNetworkSessionPeer peer(session); |
| 493 HostPortPair proxy_host("socks_proxy", 1080); | 493 HostPortPair proxy_host("socks_proxy", 1080); |
| 494 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = | 494 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = |
| 495 new CapturePreconnectsSOCKSSocketPool( | 495 new CapturePreconnectsSOCKSSocketPool( |
| 496 session_deps.host_resolver.get(), | 496 session_deps.host_resolver.get(), |
| 497 session_deps.cert_verifier.get()); | 497 session_deps.cert_verifier.get()); |
| 498 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 498 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
| 499 new CapturePreconnectsSSLSocketPool( | 499 new CapturePreconnectsSSLSocketPool( |
| 500 session_deps.host_resolver.get(), | 500 session_deps.host_resolver.get(), |
| 501 session_deps.cert_verifier.get()); | 501 session_deps.cert_verifier.get()); |
| 502 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 502 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 503 new MockClientSocketPoolManager); | 503 new MockClientSocketPoolManager); |
| 504 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); | 504 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); |
| 505 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); | 505 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); |
| 506 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 506 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 507 PreconnectHelper(kTests[i], session.get()); | 507 PreconnectHelper(kTests[i], session.get()); |
| 508 if (kTests[i].ssl) | 508 if (kTests[i].ssl) |
| 509 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 509 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
| 510 else | 510 else |
| 511 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); | 511 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); |
| 512 } | 512 } |
| 513 } | 513 } |
| 514 | 514 |
| 515 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { | 515 TEST_P(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { |
| 516 for (size_t i = 0; i < arraysize(kTests); ++i) { | 516 for (size_t i = 0; i < arraysize(kTests); ++i) { |
| 517 SpdySessionDependencies session_deps( | 517 SpdySessionDependencies session_deps( |
| 518 GetParam(), ProxyService::CreateDirect()); | 518 GetParam(), ProxyService::CreateDirect()); |
| 519 scoped_ptr<HttpNetworkSession> session( | 519 scoped_refptr<HttpNetworkSession> session( |
| 520 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 520 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 521 HttpNetworkSessionPeer peer(session.get()); | 521 HttpNetworkSessionPeer peer(session); |
| 522 | 522 |
| 523 // Put a SpdySession in the pool. | 523 // Put a SpdySession in the pool. |
| 524 HostPortPair host_port_pair("www.google.com", 443); | 524 HostPortPair host_port_pair("www.google.com", 443); |
| 525 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), | 525 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
| 526 PRIVACY_MODE_DISABLED); | 526 PRIVACY_MODE_DISABLED); |
| 527 ignore_result(CreateFakeSpdySession(session->spdy_session_pool(), key)); | 527 ignore_result(CreateFakeSpdySession(session->spdy_session_pool(), key)); |
| 528 | 528 |
| 529 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 529 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 530 new CapturePreconnectsTransportSocketPool( | 530 new CapturePreconnectsTransportSocketPool( |
| 531 session_deps.host_resolver.get(), | 531 session_deps.host_resolver.get(), |
| (...skipping 18 matching lines...) Expand all Loading... |
| 550 } | 550 } |
| 551 } | 551 } |
| 552 | 552 |
| 553 // Verify that preconnects to unsafe ports are cancelled before they reach | 553 // Verify that preconnects to unsafe ports are cancelled before they reach |
| 554 // the SocketPool. | 554 // the SocketPool. |
| 555 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { | 555 TEST_P(HttpStreamFactoryTest, PreconnectUnsafePort) { |
| 556 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); | 556 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); |
| 557 | 557 |
| 558 SpdySessionDependencies session_deps( | 558 SpdySessionDependencies session_deps( |
| 559 GetParam(), ProxyService::CreateDirect()); | 559 GetParam(), ProxyService::CreateDirect()); |
| 560 scoped_ptr<HttpNetworkSession> session( | 560 scoped_refptr<HttpNetworkSession> session( |
| 561 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 561 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 562 HttpNetworkSessionPeer peer(session.get()); | 562 HttpNetworkSessionPeer peer(session); |
| 563 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 563 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
| 564 new CapturePreconnectsTransportSocketPool( | 564 new CapturePreconnectsTransportSocketPool( |
| 565 session_deps.host_resolver.get(), | 565 session_deps.host_resolver.get(), |
| 566 session_deps.cert_verifier.get()); | 566 session_deps.cert_verifier.get()); |
| 567 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( | 567 scoped_ptr<MockClientSocketPoolManager> mock_pool_manager( |
| 568 new MockClientSocketPoolManager); | 568 new MockClientSocketPoolManager); |
| 569 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 569 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
| 570 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); | 570 peer.SetClientSocketPoolManager(mock_pool_manager.Pass()); |
| 571 | 571 |
| 572 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); | 572 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); |
| 573 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); | 573 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); |
| 574 } | 574 } |
| 575 | 575 |
| 576 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { | 576 TEST_P(HttpStreamFactoryTest, JobNotifiesProxy) { |
| 577 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; | 577 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; |
| 578 SpdySessionDependencies session_deps( | 578 SpdySessionDependencies session_deps( |
| 579 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); | 579 GetParam(), ProxyService::CreateFixedFromPacResult(kProxyString)); |
| 580 | 580 |
| 581 // First connection attempt fails | 581 // First connection attempt fails |
| 582 StaticSocketDataProvider socket_data1; | 582 StaticSocketDataProvider socket_data1; |
| 583 socket_data1.set_connect_data(MockConnect(ASYNC, ERR_ADDRESS_UNREACHABLE)); | 583 socket_data1.set_connect_data(MockConnect(ASYNC, ERR_ADDRESS_UNREACHABLE)); |
| 584 session_deps.socket_factory->AddSocketDataProvider(&socket_data1); | 584 session_deps.socket_factory->AddSocketDataProvider(&socket_data1); |
| 585 | 585 |
| 586 // Second connection attempt succeeds | 586 // Second connection attempt succeeds |
| 587 StaticSocketDataProvider socket_data2; | 587 StaticSocketDataProvider socket_data2; |
| 588 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 588 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 589 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); | 589 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); |
| 590 | 590 |
| 591 scoped_ptr<HttpNetworkSession> session( | 591 scoped_refptr<HttpNetworkSession> session( |
| 592 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 592 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 593 | 593 |
| 594 // Now request a stream. It should succeed using the second proxy in the | 594 // Now request a stream. It should succeed using the second proxy in the |
| 595 // list. | 595 // list. |
| 596 HttpRequestInfo request_info; | 596 HttpRequestInfo request_info; |
| 597 request_info.method = "GET"; | 597 request_info.method = "GET"; |
| 598 request_info.url = GURL("http://www.google.com"); | 598 request_info.url = GURL("http://www.google.com"); |
| 599 | 599 |
| 600 SSLConfig ssl_config; | 600 SSLConfig ssl_config; |
| 601 StreamRequestWaiter waiter; | 601 StreamRequestWaiter waiter; |
| (...skipping 28 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_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 640 scoped_refptr<HttpNetworkSession> session; |
| 641 session = new HttpNetworkSession(params); |
| 641 session->quic_stream_factory()->set_require_confirmation(false); | 642 session->quic_stream_factory()->set_require_confirmation(false); |
| 642 | 643 |
| 643 StaticSocketDataProvider socket_data1; | 644 StaticSocketDataProvider socket_data1; |
| 644 socket_data1.set_connect_data(MockConnect(ASYNC, mock_error[i])); | 645 socket_data1.set_connect_data(MockConnect(ASYNC, mock_error[i])); |
| 645 socket_factory.AddSocketDataProvider(&socket_data1); | 646 socket_factory.AddSocketDataProvider(&socket_data1); |
| 646 | 647 |
| 647 // Second connection attempt succeeds. | 648 // Second connection attempt succeeds. |
| 648 StaticSocketDataProvider socket_data2; | 649 StaticSocketDataProvider socket_data2; |
| 649 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 650 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 650 socket_factory.AddSocketDataProvider(&socket_data2); | 651 socket_factory.AddSocketDataProvider(&socket_data2); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 params.client_socket_factory = &socket_factory; | 693 params.client_socket_factory = &socket_factory; |
| 693 MockHostResolver host_resolver; | 694 MockHostResolver host_resolver; |
| 694 params.host_resolver = &host_resolver; | 695 params.host_resolver = &host_resolver; |
| 695 TransportSecurityState transport_security_state; | 696 TransportSecurityState transport_security_state; |
| 696 params.transport_security_state = &transport_security_state; | 697 params.transport_security_state = &transport_security_state; |
| 697 params.proxy_service = proxy_service.get(); | 698 params.proxy_service = proxy_service.get(); |
| 698 params.ssl_config_service = ssl_config_service.get(); | 699 params.ssl_config_service = ssl_config_service.get(); |
| 699 params.http_server_properties = http_server_properties.GetWeakPtr(); | 700 params.http_server_properties = http_server_properties.GetWeakPtr(); |
| 700 params.quic_max_number_of_lossy_connections = 2; | 701 params.quic_max_number_of_lossy_connections = 2; |
| 701 | 702 |
| 702 scoped_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 703 scoped_refptr<HttpNetworkSession> session; |
| 704 session = new HttpNetworkSession(params); |
| 703 session->quic_stream_factory()->set_require_confirmation(false); | 705 session->quic_stream_factory()->set_require_confirmation(false); |
| 704 | 706 |
| 705 session->quic_stream_factory()->number_of_lossy_connections_[99] = | 707 session->quic_stream_factory()->number_of_lossy_connections_[99] = |
| 706 params.quic_max_number_of_lossy_connections; | 708 params.quic_max_number_of_lossy_connections; |
| 707 | 709 |
| 708 StaticSocketDataProvider socket_data2; | 710 StaticSocketDataProvider socket_data2; |
| 709 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 711 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
| 710 socket_factory.AddSocketDataProvider(&socket_data2); | 712 socket_factory.AddSocketDataProvider(&socket_data2); |
| 711 | 713 |
| 712 // Now request a stream. It should succeed using the second proxy in the | 714 // Now request a stream. It should succeed using the second proxy in the |
| (...skipping 26 matching lines...) Expand all Loading... |
| 739 SpdySessionDependencies session_deps( | 741 SpdySessionDependencies session_deps( |
| 740 GetParam(), ProxyService::CreateDirect()); | 742 GetParam(), ProxyService::CreateDirect()); |
| 741 | 743 |
| 742 StaticSocketDataProvider socket_data; | 744 StaticSocketDataProvider socket_data; |
| 743 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 745 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 744 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 746 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 745 | 747 |
| 746 SSLSocketDataProvider ssl(ASYNC, OK); | 748 SSLSocketDataProvider ssl(ASYNC, OK); |
| 747 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); | 749 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 748 | 750 |
| 749 scoped_ptr<HttpNetworkSession> session( | 751 scoped_refptr<HttpNetworkSession> session( |
| 750 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 752 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 751 | 753 |
| 752 // Set an existing SpdySession in the pool. | 754 // Set an existing SpdySession in the pool. |
| 753 HostPortPair host_port_pair("www.google.com", 443); | 755 HostPortPair host_port_pair("www.google.com", 443); |
| 754 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), | 756 SpdySessionKey key(host_port_pair, ProxyServer::Direct(), |
| 755 PRIVACY_MODE_ENABLED); | 757 PRIVACY_MODE_ENABLED); |
| 756 | 758 |
| 757 HttpRequestInfo request_info; | 759 HttpRequestInfo request_info; |
| 758 request_info.method = "GET"; | 760 request_info.method = "GET"; |
| 759 request_info.url = GURL("https://www.google.com"); | 761 request_info.url = GURL("https://www.google.com"); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 SpdySessionDependencies session_deps( | 807 SpdySessionDependencies session_deps( |
| 806 GetParam(), ProxyService::CreateDirect()); | 808 GetParam(), ProxyService::CreateDirect()); |
| 807 | 809 |
| 808 StaticSocketDataProvider socket_data; | 810 StaticSocketDataProvider socket_data; |
| 809 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 811 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 810 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 812 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 811 | 813 |
| 812 SSLSocketDataProvider ssl(ASYNC, OK); | 814 SSLSocketDataProvider ssl(ASYNC, OK); |
| 813 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); | 815 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 814 | 816 |
| 815 scoped_ptr<HttpNetworkSession> session( | 817 scoped_refptr<HttpNetworkSession> session( |
| 816 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 818 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 817 SSLClientSocketPool* ssl_pool = session->GetSSLSocketPool( | 819 SSLClientSocketPool* ssl_pool = session->GetSSLSocketPool( |
| 818 HttpNetworkSession::NORMAL_SOCKET_POOL); | 820 HttpNetworkSession::NORMAL_SOCKET_POOL); |
| 819 | 821 |
| 820 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 0); | 822 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 0); |
| 821 | 823 |
| 822 HttpRequestInfo request_info; | 824 HttpRequestInfo request_info; |
| 823 request_info.method = "GET"; | 825 request_info.method = "GET"; |
| 824 request_info.url = GURL("https://www.google.com"); | 826 request_info.url = GURL("https://www.google.com"); |
| 825 request_info.load_flags = 0; | 827 request_info.load_flags = 0; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 855 } | 857 } |
| 856 | 858 |
| 857 TEST_P(HttpStreamFactoryTest, GetLoadState) { | 859 TEST_P(HttpStreamFactoryTest, GetLoadState) { |
| 858 SpdySessionDependencies session_deps( | 860 SpdySessionDependencies session_deps( |
| 859 GetParam(), ProxyService::CreateDirect()); | 861 GetParam(), ProxyService::CreateDirect()); |
| 860 | 862 |
| 861 StaticSocketDataProvider socket_data; | 863 StaticSocketDataProvider socket_data; |
| 862 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 864 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 863 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 865 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 864 | 866 |
| 865 scoped_ptr<HttpNetworkSession> session( | 867 scoped_refptr<HttpNetworkSession> session( |
| 866 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 868 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 867 | 869 |
| 868 HttpRequestInfo request_info; | 870 HttpRequestInfo request_info; |
| 869 request_info.method = "GET"; | 871 request_info.method = "GET"; |
| 870 request_info.url = GURL("http://www.google.com"); | 872 request_info.url = GURL("http://www.google.com"); |
| 871 | 873 |
| 872 SSLConfig ssl_config; | 874 SSLConfig ssl_config; |
| 873 StreamRequestWaiter waiter; | 875 StreamRequestWaiter waiter; |
| 874 scoped_ptr<HttpStreamRequest> request( | 876 scoped_ptr<HttpStreamRequest> request( |
| 875 session->http_stream_factory()->RequestStream( | 877 session->http_stream_factory()->RequestStream( |
| 876 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, | 878 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, |
| 877 &waiter, BoundNetLog())); | 879 &waiter, BoundNetLog())); |
| 878 | 880 |
| 879 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); | 881 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); |
| 880 | 882 |
| 881 waiter.WaitForStream(); | 883 waiter.WaitForStream(); |
| 882 } | 884 } |
| 883 | 885 |
| 884 TEST_P(HttpStreamFactoryTest, RequestHttpStream) { | 886 TEST_P(HttpStreamFactoryTest, RequestHttpStream) { |
| 885 SpdySessionDependencies session_deps( | 887 SpdySessionDependencies session_deps( |
| 886 GetParam(), ProxyService::CreateDirect()); | 888 GetParam(), ProxyService::CreateDirect()); |
| 887 | 889 |
| 888 StaticSocketDataProvider socket_data; | 890 StaticSocketDataProvider socket_data; |
| 889 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 891 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 890 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 892 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 891 | 893 |
| 892 scoped_ptr<HttpNetworkSession> session( | 894 scoped_refptr<HttpNetworkSession> session( |
| 893 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 895 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 894 | 896 |
| 895 // Now request a stream. It should succeed using the second proxy in the | 897 // Now request a stream. It should succeed using the second proxy in the |
| 896 // list. | 898 // list. |
| 897 HttpRequestInfo request_info; | 899 HttpRequestInfo request_info; |
| 898 request_info.method = "GET"; | 900 request_info.method = "GET"; |
| 899 request_info.url = GURL("http://www.google.com"); | 901 request_info.url = GURL("http://www.google.com"); |
| 900 request_info.load_flags = 0; | 902 request_info.load_flags = 0; |
| 901 | 903 |
| 902 SSLConfig ssl_config; | 904 SSLConfig ssl_config; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 932 GetParam(), ProxyService::CreateDirect()); | 934 GetParam(), ProxyService::CreateDirect()); |
| 933 | 935 |
| 934 MockRead mock_read(ASYNC, OK); | 936 MockRead mock_read(ASYNC, OK); |
| 935 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 937 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 936 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 938 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 937 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 939 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 938 | 940 |
| 939 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 941 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 940 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 942 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 941 | 943 |
| 942 scoped_ptr<HttpNetworkSession> session( | 944 scoped_refptr<HttpNetworkSession> session( |
| 943 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 945 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 944 | 946 |
| 945 // Now request a stream. | 947 // Now request a stream. |
| 946 HttpRequestInfo request_info; | 948 HttpRequestInfo request_info; |
| 947 request_info.method = "GET"; | 949 request_info.method = "GET"; |
| 948 request_info.url = GURL("https://www.google.com"); | 950 request_info.url = GURL("https://www.google.com"); |
| 949 request_info.load_flags = 0; | 951 request_info.load_flags = 0; |
| 950 | 952 |
| 951 SSLConfig ssl_config; | 953 SSLConfig ssl_config; |
| 952 StreamRequestWaiter waiter; | 954 StreamRequestWaiter waiter; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 977 } | 979 } |
| 978 | 980 |
| 979 TEST_P(HttpStreamFactoryTest, RequestHttpStreamOverProxy) { | 981 TEST_P(HttpStreamFactoryTest, RequestHttpStreamOverProxy) { |
| 980 SpdySessionDependencies session_deps( | 982 SpdySessionDependencies session_deps( |
| 981 GetParam(), ProxyService::CreateFixed("myproxy:8888")); | 983 GetParam(), ProxyService::CreateFixed("myproxy:8888")); |
| 982 | 984 |
| 983 StaticSocketDataProvider socket_data; | 985 StaticSocketDataProvider socket_data; |
| 984 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 986 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 985 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 987 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 986 | 988 |
| 987 scoped_ptr<HttpNetworkSession> session( | 989 scoped_refptr<HttpNetworkSession> session( |
| 988 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 990 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 989 | 991 |
| 990 // Now request a stream. It should succeed using the second proxy in the | 992 // Now request a stream. It should succeed using the second proxy in the |
| 991 // list. | 993 // list. |
| 992 HttpRequestInfo request_info; | 994 HttpRequestInfo request_info; |
| 993 request_info.method = "GET"; | 995 request_info.method = "GET"; |
| 994 request_info.url = GURL("http://www.google.com"); | 996 request_info.url = GURL("http://www.google.com"); |
| 995 request_info.load_flags = 0; | 997 request_info.load_flags = 0; |
| 996 | 998 |
| 997 SSLConfig ssl_config; | 999 SSLConfig ssl_config; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1030 } | 1032 } |
| 1031 | 1033 |
| 1032 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStream) { | 1034 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStream) { |
| 1033 SpdySessionDependencies session_deps( | 1035 SpdySessionDependencies session_deps( |
| 1034 GetParam(), ProxyService::CreateDirect()); | 1036 GetParam(), ProxyService::CreateDirect()); |
| 1035 | 1037 |
| 1036 StaticSocketDataProvider socket_data; | 1038 StaticSocketDataProvider socket_data; |
| 1037 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1039 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1038 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1040 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1039 | 1041 |
| 1040 scoped_ptr<HttpNetworkSession> session( | 1042 scoped_refptr<HttpNetworkSession> session( |
| 1041 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1043 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1042 | 1044 |
| 1043 // Now request a stream. | 1045 // Now request a stream. |
| 1044 HttpRequestInfo request_info; | 1046 HttpRequestInfo request_info; |
| 1045 request_info.method = "GET"; | 1047 request_info.method = "GET"; |
| 1046 request_info.url = GURL("ws://www.google.com"); | 1048 request_info.url = GURL("ws://www.google.com"); |
| 1047 request_info.load_flags = 0; | 1049 request_info.load_flags = 0; |
| 1048 | 1050 |
| 1049 SSLConfig ssl_config; | 1051 SSLConfig ssl_config; |
| 1050 StreamRequestWaiter waiter; | 1052 StreamRequestWaiter waiter; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1078 GetParam(), ProxyService::CreateDirect()); | 1080 GetParam(), ProxyService::CreateDirect()); |
| 1079 | 1081 |
| 1080 MockRead mock_read(ASYNC, OK); | 1082 MockRead mock_read(ASYNC, OK); |
| 1081 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1083 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1082 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1084 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1083 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1085 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1084 | 1086 |
| 1085 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1087 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1086 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1088 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1087 | 1089 |
| 1088 scoped_ptr<HttpNetworkSession> session( | 1090 scoped_refptr<HttpNetworkSession> session( |
| 1089 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1091 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1090 | 1092 |
| 1091 // Now request a stream. | 1093 // Now request a stream. |
| 1092 HttpRequestInfo request_info; | 1094 HttpRequestInfo request_info; |
| 1093 request_info.method = "GET"; | 1095 request_info.method = "GET"; |
| 1094 request_info.url = GURL("wss://www.google.com"); | 1096 request_info.url = GURL("wss://www.google.com"); |
| 1095 request_info.load_flags = 0; | 1097 request_info.load_flags = 0; |
| 1096 | 1098 |
| 1097 SSLConfig ssl_config; | 1099 SSLConfig ssl_config; |
| 1098 StreamRequestWaiter waiter; | 1100 StreamRequestWaiter waiter; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1123 | 1125 |
| 1124 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStreamOverProxy) { | 1126 TEST_P(HttpStreamFactoryTest, RequestWebSocketBasicHandshakeStreamOverProxy) { |
| 1125 SpdySessionDependencies session_deps( | 1127 SpdySessionDependencies session_deps( |
| 1126 GetParam(), ProxyService::CreateFixed("myproxy:8888")); | 1128 GetParam(), ProxyService::CreateFixed("myproxy:8888")); |
| 1127 | 1129 |
| 1128 MockRead read(SYNCHRONOUS, "HTTP/1.0 200 Connection established\r\n\r\n"); | 1130 MockRead read(SYNCHRONOUS, "HTTP/1.0 200 Connection established\r\n\r\n"); |
| 1129 StaticSocketDataProvider socket_data(&read, 1, 0, 0); | 1131 StaticSocketDataProvider socket_data(&read, 1, 0, 0); |
| 1130 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1132 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1131 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1133 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1132 | 1134 |
| 1133 scoped_ptr<HttpNetworkSession> session( | 1135 scoped_refptr<HttpNetworkSession> session( |
| 1134 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1136 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1135 | 1137 |
| 1136 // Now request a stream. | 1138 // Now request a stream. |
| 1137 HttpRequestInfo request_info; | 1139 HttpRequestInfo request_info; |
| 1138 request_info.method = "GET"; | 1140 request_info.method = "GET"; |
| 1139 request_info.url = GURL("ws://www.google.com"); | 1141 request_info.url = GURL("ws://www.google.com"); |
| 1140 request_info.load_flags = 0; | 1142 request_info.load_flags = 0; |
| 1141 | 1143 |
| 1142 SSLConfig ssl_config; | 1144 SSLConfig ssl_config; |
| 1143 StreamRequestWaiter waiter; | 1145 StreamRequestWaiter waiter; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1184 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); | 1186 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); |
| 1185 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); | 1187 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); |
| 1186 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1188 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1187 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1189 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1188 | 1190 |
| 1189 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1191 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1190 ssl_socket_data.SetNextProto(GetParam()); | 1192 ssl_socket_data.SetNextProto(GetParam()); |
| 1191 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1193 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1192 | 1194 |
| 1193 HostPortPair host_port_pair("www.google.com", 443); | 1195 HostPortPair host_port_pair("www.google.com", 443); |
| 1194 scoped_ptr<HttpNetworkSession> session( | 1196 scoped_refptr<HttpNetworkSession> session( |
| 1195 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1197 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1196 | 1198 |
| 1197 // Now request a stream. | 1199 // Now request a stream. |
| 1198 HttpRequestInfo request_info; | 1200 HttpRequestInfo request_info; |
| 1199 request_info.method = "GET"; | 1201 request_info.method = "GET"; |
| 1200 request_info.url = GURL("https://www.google.com"); | 1202 request_info.url = GURL("https://www.google.com"); |
| 1201 request_info.load_flags = 0; | 1203 request_info.load_flags = 0; |
| 1202 | 1204 |
| 1203 SSLConfig ssl_config; | 1205 SSLConfig ssl_config; |
| 1204 StreamRequestWaiter waiter; | 1206 StreamRequestWaiter waiter; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1237 | 1239 |
| 1238 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); | 1240 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); |
| 1239 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1241 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1240 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1242 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1241 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1243 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1242 | 1244 |
| 1243 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1245 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1244 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1246 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1245 | 1247 |
| 1246 HostPortPair host_port_pair("www.google.com", 80); | 1248 HostPortPair host_port_pair("www.google.com", 80); |
| 1247 scoped_ptr<HttpNetworkSession> session( | 1249 scoped_refptr<HttpNetworkSession> |
| 1248 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1250 session(SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1249 | 1251 |
| 1250 // Now request a stream. | 1252 // Now request a stream. |
| 1251 HttpRequestInfo request_info; | 1253 HttpRequestInfo request_info; |
| 1252 request_info.method = "GET"; | 1254 request_info.method = "GET"; |
| 1253 request_info.url = GURL("wss://www.google.com"); | 1255 request_info.url = GURL("wss://www.google.com"); |
| 1254 request_info.load_flags = 0; | 1256 request_info.load_flags = 0; |
| 1255 | 1257 |
| 1256 SSLConfig ssl_config; | 1258 SSLConfig ssl_config; |
| 1257 StreamRequestWaiter waiter1; | 1259 StreamRequestWaiter waiter1; |
| 1258 WebSocketStreamCreateHelper create_helper; | 1260 WebSocketStreamCreateHelper create_helper; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1289 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); | 1291 MockRead mock_read(SYNCHRONOUS, ERR_IO_PENDING); |
| 1290 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); | 1292 StaticSocketDataProvider socket_data(&mock_read, 1, nullptr, 0); |
| 1291 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1293 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1292 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1294 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1293 | 1295 |
| 1294 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1296 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1295 ssl_socket_data.SetNextProto(GetParam()); | 1297 ssl_socket_data.SetNextProto(GetParam()); |
| 1296 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1298 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1297 | 1299 |
| 1298 HostPortPair host_port_pair("www.google.com", 80); | 1300 HostPortPair host_port_pair("www.google.com", 80); |
| 1299 scoped_ptr<HttpNetworkSession> session( | 1301 scoped_refptr<HttpNetworkSession> |
| 1300 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1302 session(SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1301 | 1303 |
| 1302 // Now request a stream. | 1304 // Now request a stream. |
| 1303 HttpRequestInfo request_info; | 1305 HttpRequestInfo request_info; |
| 1304 request_info.method = "GET"; | 1306 request_info.method = "GET"; |
| 1305 request_info.url = GURL("wss://www.google.com"); | 1307 request_info.url = GURL("wss://www.google.com"); |
| 1306 request_info.load_flags = 0; | 1308 request_info.load_flags = 0; |
| 1307 | 1309 |
| 1308 SSLConfig ssl_config; | 1310 SSLConfig ssl_config; |
| 1309 StreamRequestWaiter waiter1; | 1311 StreamRequestWaiter waiter1; |
| 1310 WebSocketStreamCreateHelper create_helper; | 1312 WebSocketStreamCreateHelper create_helper; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1371 | 1373 |
| 1372 MockRead mock_read2(ASYNC, OK); | 1374 MockRead mock_read2(ASYNC, OK); |
| 1373 SequencedSocketData socket_data2(&mock_read2, 1, nullptr, 0); | 1375 SequencedSocketData socket_data2(&mock_read2, 1, nullptr, 0); |
| 1374 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); | 1376 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); |
| 1375 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); | 1377 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); |
| 1376 | 1378 |
| 1377 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1379 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
| 1378 ssl_socket_data.SetNextProto(GetParam()); | 1380 ssl_socket_data.SetNextProto(GetParam()); |
| 1379 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); | 1381 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
| 1380 | 1382 |
| 1381 scoped_ptr<HttpNetworkSession> session( | 1383 scoped_refptr<HttpNetworkSession> session( |
| 1382 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1384 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1383 | 1385 |
| 1384 // Now request a stream. | 1386 // Now request a stream. |
| 1385 HttpRequestInfo request_info; | 1387 HttpRequestInfo request_info; |
| 1386 request_info.method = "GET"; | 1388 request_info.method = "GET"; |
| 1387 request_info.url = GURL("ws://www.google.com:8888"); | 1389 request_info.url = GURL("ws://www.google.com:8888"); |
| 1388 request_info.load_flags = 0; | 1390 request_info.load_flags = 0; |
| 1389 | 1391 |
| 1390 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 1392 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
| 1391 session->http_server_properties()->SetAlternativeService( | 1393 session->http_server_properties()->SetAlternativeService( |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1425 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 1427 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 1426 | 1428 |
| 1427 // Make sure there is no orphaned job. it is already canceled. | 1429 // Make sure there is no orphaned job. it is already canceled. |
| 1428 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 1430 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
| 1429 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); | 1431 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
| 1430 } | 1432 } |
| 1431 | 1433 |
| 1432 } // namespace | 1434 } // namespace |
| 1433 | 1435 |
| 1434 } // namespace net | 1436 } // namespace net |
| OLD | NEW |