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/quic/chromium/quic_chromium_client_session.h" | 5 #include "net/quic/chromium/quic_chromium_client_session.h" |
6 | 6 |
7 #include "base/base64.h" | 7 #include "base/base64.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 session_.reset(new QuicChromiumClientSession( | 118 session_.reset(new QuicChromiumClientSession( |
119 connection, std::move(socket), | 119 connection, std::move(socket), |
120 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, | 120 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, |
121 &transport_security_state_, | 121 &transport_security_state_, |
122 base::WrapUnique(static_cast<QuicServerInfo*>(nullptr)), | 122 base::WrapUnique(static_cast<QuicServerInfo*>(nullptr)), |
123 QuicServerId(kServerHostname, kServerPort, PRIVACY_MODE_DISABLED), | 123 QuicServerId(kServerHostname, kServerPort, PRIVACY_MODE_DISABLED), |
124 kQuicYieldAfterPacketsRead, | 124 kQuicYieldAfterPacketsRead, |
125 QuicTime::Delta::FromMilliseconds(kQuicYieldAfterDurationMilliseconds), | 125 QuicTime::Delta::FromMilliseconds(kQuicYieldAfterDurationMilliseconds), |
126 /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_, | 126 /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_, |
127 "CONNECTION_UNKNOWN", base::TimeTicks::Now(), base::TimeTicks::Now(), | 127 "CONNECTION_UNKNOWN", base::TimeTicks::Now(), base::TimeTicks::Now(), |
128 &push_promise_index_, base::ThreadTaskRunnerHandle::Get().get(), | 128 &push_promise_index_, &test_push_delegate_, |
| 129 base::ThreadTaskRunnerHandle::Get().get(), |
129 /*socket_performance_watcher=*/nullptr, &net_log_)); | 130 /*socket_performance_watcher=*/nullptr, &net_log_)); |
130 | 131 |
131 scoped_refptr<X509Certificate> cert( | 132 scoped_refptr<X509Certificate> cert( |
132 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem")); | 133 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem")); |
133 verify_details_.cert_verify_result.verified_cert = cert; | 134 verify_details_.cert_verify_result.verified_cert = cert; |
134 verify_details_.cert_verify_result.is_issued_by_known_root = true; | 135 verify_details_.cert_verify_result.is_issued_by_known_root = true; |
135 session_->Initialize(); | 136 session_->Initialize(); |
136 session_->StartReading(); | 137 session_->StartReading(); |
137 writer->set_delegate(session_.get()); | 138 writer->set_delegate(session_.get()); |
138 } | 139 } |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) { | 319 TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) { |
319 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 320 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
320 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( | 321 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
321 1, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); | 322 1, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
322 | 323 |
323 MockWrite writes[] = { | 324 MockWrite writes[] = { |
324 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; | 325 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; |
325 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, | 326 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, |
326 arraysize(writes))); | 327 arraysize(writes))); |
327 Initialize(); | 328 Initialize(); |
328 session_->set_push_delegate(&test_push_delegate_); | |
329 | 329 |
330 ProofVerifyDetailsChromium details; | 330 ProofVerifyDetailsChromium details; |
331 details.cert_verify_result.verified_cert = | 331 details.cert_verify_result.verified_cert = |
332 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); | 332 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); |
333 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); | 333 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); |
334 | 334 |
335 CompleteCryptoHandshake(); | 335 CompleteCryptoHandshake(); |
336 session_->OnProofVerifyDetailsAvailable(details); | 336 session_->OnProofVerifyDetailsAvailable(details); |
337 | 337 |
338 QuicChromiumClientStream* stream = | 338 QuicChromiumClientStream* stream = |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 TEST_P(QuicChromiumClientSessionTest, CancelPushBeforeReceivingResponse) { | 370 TEST_P(QuicChromiumClientSessionTest, CancelPushBeforeReceivingResponse) { |
371 base::HistogramTester histogram_tester; | 371 base::HistogramTester histogram_tester; |
372 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 372 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
373 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( | 373 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
374 1, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); | 374 1, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
375 MockWrite writes[] = { | 375 MockWrite writes[] = { |
376 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; | 376 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; |
377 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, | 377 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, |
378 arraysize(writes))); | 378 arraysize(writes))); |
379 Initialize(); | 379 Initialize(); |
380 session_->set_push_delegate(&test_push_delegate_); | |
381 | 380 |
382 ProofVerifyDetailsChromium details; | 381 ProofVerifyDetailsChromium details; |
383 details.cert_verify_result.verified_cert = | 382 details.cert_verify_result.verified_cert = |
384 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); | 383 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); |
385 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); | 384 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); |
386 | 385 |
387 CompleteCryptoHandshake(); | 386 CompleteCryptoHandshake(); |
388 session_->OnProofVerifyDetailsAvailable(details); | 387 session_->OnProofVerifyDetailsAvailable(details); |
389 | 388 |
390 QuicChromiumClientStream* stream = | 389 QuicChromiumClientStream* stream = |
(...skipping 27 matching lines...) Expand all Loading... |
418 TEST_P(QuicChromiumClientSessionTest, CancelPushAfterReceivingResponse) { | 417 TEST_P(QuicChromiumClientSessionTest, CancelPushAfterReceivingResponse) { |
419 base::HistogramTester histogram_tester; | 418 base::HistogramTester histogram_tester; |
420 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 419 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
421 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( | 420 std::unique_ptr<QuicEncryptedPacket> client_rst(client_maker_.MakeRstPacket( |
422 1, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); | 421 1, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
423 MockWrite writes[] = { | 422 MockWrite writes[] = { |
424 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; | 423 MockWrite(ASYNC, client_rst->data(), client_rst->length(), 1)}; |
425 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, | 424 socket_data_.reset(new SequencedSocketData(reads, arraysize(reads), writes, |
426 arraysize(writes))); | 425 arraysize(writes))); |
427 Initialize(); | 426 Initialize(); |
428 session_->set_push_delegate(&test_push_delegate_); | |
429 | 427 |
430 ProofVerifyDetailsChromium details; | 428 ProofVerifyDetailsChromium details; |
431 details.cert_verify_result.verified_cert = | 429 details.cert_verify_result.verified_cert = |
432 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); | 430 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); |
433 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); | 431 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); |
434 | 432 |
435 CompleteCryptoHandshake(); | 433 CompleteCryptoHandshake(); |
436 session_->OnProofVerifyDetailsAvailable(details); | 434 session_->OnProofVerifyDetailsAvailable(details); |
437 | 435 |
438 QuicChromiumClientStream* stream = | 436 QuicChromiumClientStream* stream = |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 | 809 |
812 EXPECT_TRUE(socket_data_->AllReadDataConsumed()); | 810 EXPECT_TRUE(socket_data_->AllReadDataConsumed()); |
813 EXPECT_TRUE(socket_data_->AllWriteDataConsumed()); | 811 EXPECT_TRUE(socket_data_->AllWriteDataConsumed()); |
814 EXPECT_TRUE(new_socket_data.AllReadDataConsumed()); | 812 EXPECT_TRUE(new_socket_data.AllReadDataConsumed()); |
815 EXPECT_TRUE(new_socket_data.AllWriteDataConsumed()); | 813 EXPECT_TRUE(new_socket_data.AllWriteDataConsumed()); |
816 } | 814 } |
817 | 815 |
818 } // namespace | 816 } // namespace |
819 } // namespace test | 817 } // namespace test |
820 } // namespace net | 818 } // namespace net |
OLD | NEW |