| 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 const std::string& expected, | 318 const std::string& expected, |
| 319 uint16 port) { | 319 uint16 port) { |
| 320 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port); | 320 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port); |
| 321 } | 321 } |
| 322 | 322 |
| 323 void AddQuicAlternateProtocolMapping( | 323 void AddQuicAlternateProtocolMapping( |
| 324 MockCryptoClientStream::HandshakeMode handshake_mode) { | 324 MockCryptoClientStream::HandshakeMode handshake_mode) { |
| 325 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); | 325 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); |
| 326 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url); | 326 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url); |
| 327 AlternativeService alternative_service(QUIC, host_port_pair.host(), 80); | 327 AlternativeService alternative_service(QUIC, host_port_pair.host(), 80); |
| 328 http_server_properties_.SetAlternativeService(host_port_pair, | 328 http_server_properties_.AddAlternativeService(host_port_pair, |
| 329 alternative_service, 1.0); | 329 alternative_service, 1.0); |
| 330 } | 330 } |
| 331 | 331 |
| 332 void ExpectBrokenAlternateProtocolMapping() { | 332 void ExpectBrokenAlternateProtocolMapping() { |
| 333 const HostPortPair origin = HostPortPair::FromURL(request_.url); | 333 const HostPortPair origin = HostPortPair::FromURL(request_.url); |
| 334 const AlternativeService alternative_service = | 334 const AlternativeServiceVector alternative_service_vector = |
| 335 http_server_properties_.GetAlternativeService(origin); | 335 http_server_properties_.GetAlternativeServices(origin); |
| 336 EXPECT_NE(UNINITIALIZED_ALTERNATE_PROTOCOL, alternative_service.protocol); | 336 EXPECT_EQ(1u, alternative_service_vector.size()); |
| 337 EXPECT_TRUE(http_server_properties_.IsAlternativeServiceBroken( | 337 EXPECT_TRUE(http_server_properties_.IsAlternativeServiceBroken( |
| 338 alternative_service)); | 338 alternative_service_vector[0])); |
| 339 } | 339 } |
| 340 | 340 |
| 341 void ExpectQuicAlternateProtocolMapping() { | 341 void ExpectQuicAlternateProtocolMapping() { |
| 342 const AlternativeService alternative_service = | 342 const HostPortPair origin = HostPortPair::FromURL(request_.url); |
| 343 http_server_properties_.GetAlternativeService( | 343 const AlternativeServiceVector alternative_service_vector = |
| 344 HostPortPair::FromURL(request_.url)); | 344 http_server_properties_.GetAlternativeServices(origin); |
| 345 EXPECT_EQ(QUIC, alternative_service.protocol); | 345 EXPECT_EQ(1u, alternative_service_vector.size()); |
| 346 EXPECT_EQ(QUIC, alternative_service_vector[0].protocol); |
| 346 } | 347 } |
| 347 | 348 |
| 348 void AddHangingNonAlternateProtocolSocketData() { | 349 void AddHangingNonAlternateProtocolSocketData() { |
| 349 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 350 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 350 hanging_data_.set_connect_data(hanging_connect); | 351 hanging_data_.set_connect_data(hanging_connect); |
| 351 socket_factory_.AddSocketDataProvider(&hanging_data_); | 352 socket_factory_.AddSocketDataProvider(&hanging_data_); |
| 352 } | 353 } |
| 353 | 354 |
| 354 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. | 355 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. |
| 355 QuicTestPacketMaker maker_; | 356 QuicTestPacketMaker maker_; |
| (...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 | 864 |
| 864 // Connection to |origin| fails, so that success of |request| depends on | 865 // Connection to |origin| fails, so that success of |request| depends on |
| 865 // connection to |alternate| only. | 866 // connection to |alternate| only. |
| 866 MockConnect refused_connect(ASYNC, ERR_CONNECTION_REFUSED); | 867 MockConnect refused_connect(ASYNC, ERR_CONNECTION_REFUSED); |
| 867 StaticSocketDataProvider refused_data; | 868 StaticSocketDataProvider refused_data; |
| 868 refused_data.set_connect_data(refused_connect); | 869 refused_data.set_connect_data(refused_connect); |
| 869 socket_factory_.AddSocketDataProvider(&refused_data); | 870 socket_factory_.AddSocketDataProvider(&refused_data); |
| 870 | 871 |
| 871 CreateSessionWithNextProtos(); | 872 CreateSessionWithNextProtos(); |
| 872 AlternativeService alternative_service(QUIC, alternative); | 873 AlternativeService alternative_service(QUIC, alternative); |
| 873 session_->http_server_properties()->SetAlternativeService( | 874 session_->http_server_properties()->AddAlternativeService( |
| 874 origin, alternative_service, 1.0); | 875 origin, alternative_service, 1.0); |
| 875 scoped_ptr<HttpNetworkTransaction> trans( | 876 scoped_ptr<HttpNetworkTransaction> trans( |
| 876 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); | 877 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); |
| 877 TestCompletionCallback callback; | 878 TestCompletionCallback callback; |
| 878 int rv = trans->Start(&request_, callback.callback(), net_log_.bound()); | 879 int rv = trans->Start(&request_, callback.callback(), net_log_.bound()); |
| 879 EXPECT_EQ(ERR_IO_PENDING, rv); | 880 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 880 rv = callback.WaitForResult(); | 881 rv = callback.WaitForResult(); |
| 881 if (valid) { | 882 if (valid) { |
| 882 EXPECT_EQ(OK, rv); | 883 EXPECT_EQ(OK, rv); |
| 883 CheckWasQuicResponse(trans); | 884 CheckWasQuicResponse(trans); |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1382 | 1383 |
| 1383 request_.url = GURL("https://www.example.org:443"); | 1384 request_.url = GURL("https://www.example.org:443"); |
| 1384 AddHangingNonAlternateProtocolSocketData(); | 1385 AddHangingNonAlternateProtocolSocketData(); |
| 1385 CreateSessionWithNextProtos(); | 1386 CreateSessionWithNextProtos(); |
| 1386 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); | 1387 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); |
| 1387 SendRequestAndExpectQuicResponse("hello!"); | 1388 SendRequestAndExpectQuicResponse("hello!"); |
| 1388 } | 1389 } |
| 1389 | 1390 |
| 1390 } // namespace test | 1391 } // namespace test |
| 1391 } // namespace net | 1392 } // namespace net |
| OLD | NEW |