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