| 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 |