| 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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 scoped_ptr<HttpNetworkTransaction> trans( | 269 scoped_ptr<HttpNetworkTransaction> trans( |
| 270 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); | 270 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); |
| 271 RunTransaction(trans.get()); | 271 RunTransaction(trans.get()); |
| 272 CheckWasQuicResponse(trans); | 272 CheckWasQuicResponse(trans); |
| 273 CheckResponseData(trans.get(), expected); | 273 CheckResponseData(trans.get(), expected); |
| 274 } | 274 } |
| 275 | 275 |
| 276 void AddQuicAlternateProtocolMapping( | 276 void AddQuicAlternateProtocolMapping( |
| 277 MockCryptoClientStream::HandshakeMode handshake_mode) { | 277 MockCryptoClientStream::HandshakeMode handshake_mode) { |
| 278 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); | 278 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); |
| 279 session_->http_server_properties()->SetAlternateProtocol( | 279 session_->http_server_properties()->AddAlternateProtocol( |
| 280 HostPortPair::FromURL(request_.url), 80, QUIC, 1); | 280 HostPortPair::FromURL(request_.url), 80, QUIC, 1); |
| 281 } | 281 } |
| 282 | 282 |
| 283 void ExpectBrokenAlternateProtocolMapping() { | 283 void ExpectBrokenAlternateProtocolMapping() { |
| 284 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( | 284 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( |
| 285 HostPortPair::FromURL(request_.url))); | 285 HostPortPair::FromURL(request_.url))); |
| 286 const AlternateProtocolInfo alternate = | 286 const AlternateProtocols alternate_protocols = |
| 287 session_->http_server_properties()->GetAlternateProtocol( | 287 session_->http_server_properties()->GetAlternateProtocols( |
| 288 HostPortPair::FromURL(request_.url)); | 288 HostPortPair::FromURL(request_.url)); |
| 289 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); | 289 for (AlternateProtocols::const_iterator it = alternate_protocols.begin(); |
| 290 it != alternate_protocols.end(); |
| 291 ++it) { |
| 292 if (it->protocol == ALTERNATE_PROTOCOL_BROKEN) { |
| 293 return; |
| 294 } |
| 295 } |
| 296 EXPECT_FALSE(true) << "No broken protocol found."; |
| 290 } | 297 } |
| 291 | 298 |
| 292 void ExpectQuicAlternateProtocolMapping() { | 299 void ExpectQuicAlternateProtocolMapping() { |
| 293 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( | 300 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( |
| 294 HostPortPair::FromURL(request_.url))); | 301 HostPortPair::FromURL(request_.url))); |
| 295 const AlternateProtocolInfo alternate = | 302 const AlternateProtocols alternate_protocols = |
| 296 session_->http_server_properties()->GetAlternateProtocol( | 303 session_->http_server_properties()->GetAlternateProtocols( |
| 297 HostPortPair::FromURL(request_.url)); | 304 HostPortPair::FromURL(request_.url)); |
| 298 EXPECT_EQ(QUIC, alternate.protocol); | 305 ASSERT_EQ(1u, alternate_protocols.size()); |
| 306 EXPECT_EQ(QUIC, alternate_protocols[0].protocol); |
| 299 } | 307 } |
| 300 | 308 |
| 301 void AddHangingNonAlternateProtocolSocketData() { | 309 void AddHangingNonAlternateProtocolSocketData() { |
| 302 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 310 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 303 hanging_data_.set_connect_data(hanging_connect); | 311 hanging_data_.set_connect_data(hanging_connect); |
| 304 socket_factory_.AddSocketDataProvider(&hanging_data_); | 312 socket_factory_.AddSocketDataProvider(&hanging_data_); |
| 305 } | 313 } |
| 306 | 314 |
| 307 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. | 315 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. |
| 308 QuicTestPacketMaker maker_; | 316 QuicTestPacketMaker maker_; |
| (...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 nullptr, | 1040 nullptr, |
| 1033 net_log_.bound()); | 1041 net_log_.bound()); |
| 1034 | 1042 |
| 1035 CreateSessionWithNextProtos(); | 1043 CreateSessionWithNextProtos(); |
| 1036 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); | 1044 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
| 1037 SendRequestAndExpectHttpResponse("hello world"); | 1045 SendRequestAndExpectHttpResponse("hello world"); |
| 1038 } | 1046 } |
| 1039 | 1047 |
| 1040 } // namespace test | 1048 } // namespace test |
| 1041 } // namespace net | 1049 } // namespace net |
| OLD | NEW |