diff options
author | xunjieli <xunjieli@chromium.org> | 2016-03-23 16:32:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-23 23:37:31 +0000 |
commit | 5fafe14b17f8ed28dc4e28adf17cbc699753413c (patch) | |
tree | 8e9d146bafa5f7319a2082f16ac59d6077211020 /net | |
parent | fce6cdfb2d0c9cc25d935adf631e3eec3ab93f73 (diff) | |
download | chromium_src-5fafe14b17f8ed28dc4e28adf17cbc699753413c.zip chromium_src-5fafe14b17f8ed28dc4e28adf17cbc699753413c.tar.gz chromium_src-5fafe14b17f8ed28dc4e28adf17cbc699753413c.tar.bz2 |
Add logging for headers sent and received in BidirectionalStreamQuicImpl
This CL refactors headers logging in QuicHttpStream and moves
them to QuicChromiumClientStream so the logging can be
shared with BidirectionalStreamQuicImpl.
BUG=596680
Review URL: https://codereview.chromium.org/1824403002
Cr-Commit-Position: refs/heads/master@{#382972}
Diffstat (limited to 'net')
-rw-r--r-- | net/log/net_log_event_type_list.h | 34 | ||||
-rw-r--r-- | net/quic/bidirectional_stream_quic_impl_unittest.cc | 52 | ||||
-rw-r--r-- | net/quic/quic_chromium_client_stream.cc | 24 | ||||
-rw-r--r-- | net/quic/quic_chromium_client_stream.h | 3 | ||||
-rw-r--r-- | net/quic/quic_http_stream.cc | 12 | ||||
-rw-r--r-- | net/quic/quic_http_stream_test.cc | 171 |
6 files changed, 186 insertions, 110 deletions
diff --git a/net/log/net_log_event_type_list.h b/net/log/net_log_event_type_list.h index 1e469d6..70a4ee1 100644 --- a/net/log/net_log_event_type_list.h +++ b/net/log/net_log_event_type_list.h @@ -1803,18 +1803,6 @@ EVENT_TYPE(QUIC_SESSION_CLOSED) // QuicHttpStream // ------------------------------------------------------------------------ -// The stream is sending the request headers. -// { -// "headers": <The list of header:value pairs> -// } -EVENT_TYPE(QUIC_HTTP_STREAM_SEND_REQUEST_HEADERS) - -// The stream has read the response headers. -// { -// "headers": <The list of header:value pairs> -// } -EVENT_TYPE(QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS) - // A stream request's url matches a received push promise. The // promised stream can be adopted for this request once vary header // validation is complete (as part of response header processing). @@ -1840,6 +1828,28 @@ EVENT_TYPE(QUIC_HTTP_STREAM_ADOPTED_PUSH_STREAM) EVENT_TYPE(HTTP_STREAM_REQUEST_BOUND_TO_QUIC_SESSION) // ------------------------------------------------------------------------ +// QuicChromiumClientStream +// ------------------------------------------------------------------------ + +// The stream is sending the request headers. +// { +// "headers": <The list of header:value pairs> +// } +EVENT_TYPE(QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS) + +// The stream has read the response headers. +// { +// "headers": <The list of header:value pairs> +// } +EVENT_TYPE(QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_HEADERS) + +// The stream has read the response trailers. +// { +// "headers": <The list of header:value pairs> +// } +EVENT_TYPE(QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_TRAILERS) + +// ------------------------------------------------------------------------ // HttpStreamParser // ------------------------------------------------------------------------ diff --git a/net/quic/bidirectional_stream_quic_impl_unittest.cc b/net/quic/bidirectional_stream_quic_impl_unittest.cc index dcf45e4..4f32425 100644 --- a/net/quic/bidirectional_stream_quic_impl_unittest.cc +++ b/net/quic/bidirectional_stream_quic_impl_unittest.cc @@ -15,6 +15,8 @@ #include "net/base/net_errors.h" #include "net/http/bidirectional_stream_request_info.h" #include "net/http/transport_security_state.h" +#include "net/log/test_net_log.h" +#include "net/log/test_net_log_util.h" #include "net/quic/crypto/crypto_protocol.h" #include "net/quic/crypto/quic_decrypter.h" #include "net/quic/crypto/quic_encrypter.h" @@ -272,8 +274,7 @@ class BidirectionalStreamQuicImplTest }; BidirectionalStreamQuicImplTest() - : net_log_(BoundNetLog()), - crypto_config_(CryptoTestUtils::ProofVerifierForTesting()), + : crypto_config_(CryptoTestUtils::ProofVerifierForTesting()), read_buffer_(new IOBufferWithSize(4096)), connection_id_(2), stream_id_(kClientDataStreamId1), @@ -322,8 +323,8 @@ class BidirectionalStreamQuicImplTest socket_data_.reset(new StaticSocketDataProvider( nullptr, 0, mock_writes_.get(), writes_.size())); - MockUDPClientSocket* socket = - new MockUDPClientSocket(socket_data_.get(), net_log_.net_log()); + MockUDPClientSocket* socket = new MockUDPClientSocket( + socket_data_.get(), net_log().bound().net_log()); socket->Connect(peer_addr_); runner_ = new TestTaskRunner(&clock_); helper_.reset(new QuicChromiumConnectionHelper(runner_.get(), &clock_, @@ -344,7 +345,7 @@ class BidirectionalStreamQuicImplTest /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_, "CONNECTION_UNKNOWN", base::TimeTicks::Now(), &push_promise_index_, base::ThreadTaskRunnerHandle::Get().get(), - /*socket_performance_watcher=*/nullptr, nullptr)); + /*socket_performance_watcher=*/nullptr, net_log().bound().net_log())); session_->Initialize(); session_->GetCryptoStream()->CryptoConnect(); EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed()); @@ -458,12 +459,12 @@ class BidirectionalStreamQuicImplTest !kIncludeCongestionFeedback); } - const BoundNetLog& net_log() const { return net_log_; } + const BoundTestNetLog& net_log() const { return net_log_; } QuicChromiumClientSession* session() const { return session_.get(); } private: - BoundNetLog net_log_; + BoundTestNetLog net_log_; scoped_refptr<TestTaskRunner> runner_; scoped_ptr<MockWrite[]> mock_writes_; MockClock clock_; @@ -510,7 +511,7 @@ TEST_P(BidirectionalStreamQuicImplTest, GetRequest) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -565,6 +566,21 @@ TEST_P(BidirectionalStreamQuicImplTest, GetRequest) { static_cast<int64_t>(spdy_response_headers_frame_length + strlen(kResponseBody) + spdy_trailers_frame_length), delegate->GetTotalReceivedBytes()); + // Check that NetLog was filled as expected. + TestNetLogEntry::List entries; + net_log().GetEntries(&entries); + size_t pos = ExpectLogContainsSomewhere( + entries, /*min_offset=*/0, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); + pos = ExpectLogContainsSomewhere( + entries, /*min_offset=*/pos, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); + ExpectLogContainsSomewhere( + entries, /*min_offset=*/pos, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); } TEST_P(BidirectionalStreamQuicImplTest, PostRequest) { @@ -586,7 +602,7 @@ TEST_P(BidirectionalStreamQuicImplTest, PostRequest) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Send a DATA frame. @@ -663,7 +679,7 @@ TEST_P(BidirectionalStreamQuicImplTest, InterleaveReadDataAndSendData) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -740,7 +756,7 @@ TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterHeaders) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server sends a Rst. @@ -779,7 +795,7 @@ TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterReadData) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -836,7 +852,7 @@ TEST_P(BidirectionalStreamQuicImplTest, CancelStreamAfterSendData) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -886,7 +902,7 @@ TEST_P(BidirectionalStreamQuicImplTest, SessionClosedBeforeReadData) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -940,7 +956,7 @@ TEST_P(BidirectionalStreamQuicImplTest, CancelStreamAfterReadData) { scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); scoped_ptr<TestDelegateBase> delegate( new TestDelegateBase(read_buffer.get(), kReadBufferSize)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -990,7 +1006,7 @@ TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnHeadersReceived) { scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( read_buffer.get(), kReadBufferSize, DeleteStreamDelegate::ON_HEADERS_RECEIVED, true)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -1033,7 +1049,7 @@ TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnDataRead) { scoped_ptr<DeleteStreamDelegate> delegate( new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, DeleteStreamDelegate::ON_DATA_READ, true)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. @@ -1085,7 +1101,7 @@ TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnTrailersReceived) { scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( read_buffer.get(), kReadBufferSize, DeleteStreamDelegate::ON_TRAILERS_RECEIVED, true)); - delegate->Start(&request, net_log(), session()->GetWeakPtr()); + delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); delegate->WaitUntilNextCallback(); // OnHeadersSent // Server acks the request. diff --git a/net/quic/quic_chromium_client_stream.cc b/net/quic/quic_chromium_client_stream.cc index ef71bf1..5d9946c 100644 --- a/net/quic/quic_chromium_client_stream.cc +++ b/net/quic/quic_chromium_client_stream.cc @@ -10,6 +10,7 @@ #include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/quic/quic_chromium_client_session.h" +#include "net/quic/quic_http_utils.h" #include "net/quic/quic_spdy_session.h" #include "net/quic/quic_write_blocked_list.h" #include "net/quic/spdy_utils.h" @@ -104,6 +105,17 @@ void QuicChromiumClientStream::OnCanWrite() { } } +size_t QuicChromiumClientStream::WriteHeaders( + const SpdyHeaderBlock& header_block, + bool fin, + QuicAckListenerInterface* ack_notifier_delegate) { + net_log_.AddEvent( + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + base::Bind(&QuicRequestNetLogCallback, id(), &header_block, + QuicSpdyStream::priority())); + return QuicSpdyStream::WriteHeaders(header_block, fin, ack_notifier_delegate); +} + SpdyPriority QuicChromiumClientStream::priority() const { if (delegate_ && delegate_->HasSendHeadersComplete()) { return QuicSpdyStream::priority(); @@ -187,10 +199,18 @@ void QuicChromiumClientStream::NotifyDelegateOfHeadersComplete( if (!delegate_) return; // Only mark trailers consumed when we are about to notify delegate. - if (headers_delivered_) + if (headers_delivered_) { MarkTrailersConsumed(decompressed_trailers().length()); + net_log_.AddEvent( + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_TRAILERS, + base::Bind(&SpdyHeaderBlockNetLogCallback, &headers)); + } else { + headers_delivered_ = true; + net_log_.AddEvent( + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_HEADERS, + base::Bind(&SpdyHeaderBlockNetLogCallback, &headers)); + } - headers_delivered_ = true; delegate_->OnHeadersAvailable(headers, frame_len); } diff --git a/net/quic/quic_chromium_client_stream.h b/net/quic/quic_chromium_client_stream.h index a0b9426..4173895 100644 --- a/net/quic/quic_chromium_client_stream.h +++ b/net/quic/quic_chromium_client_stream.h @@ -67,6 +67,9 @@ class NET_EXPORT_PRIVATE QuicChromiumClientStream : public QuicSpdyStream { void OnDataAvailable() override; void OnClose() override; void OnCanWrite() override; + size_t WriteHeaders(const SpdyHeaderBlock& header_block, + bool fin, + QuicAckListenerInterface* ack_notifier_delegate) override; SpdyPriority priority() const override; // While the server's set_priority shouldn't be called externally, the creator diff --git a/net/quic/quic_http_stream.cc b/net/quic/quic_http_stream.cc index 3c77fdc..ca5cb89 100644 --- a/net/quic/quic_http_stream.cc +++ b/net/quic/quic_http_stream.cc @@ -637,12 +637,6 @@ int QuicHttpStream::DoSendHeaders() { NetLog::TYPE_HTTP_TRANSACTION_QUIC_SEND_REQUEST_HEADERS, base::Bind(&QuicRequestNetLogCallback, stream_->id(), &request_headers_, priority_)); - // Also log to the QuicSession's net log. - stream_->net_log().AddEvent( - NetLog::TYPE_QUIC_HTTP_STREAM_SEND_REQUEST_HEADERS, - base::Bind(&QuicRequestNetLogCallback, stream_->id(), &request_headers_, - priority_)); - bool has_upload_data = request_body_stream_ != nullptr; next_state_ = STATE_SEND_HEADERS_COMPLETE; @@ -733,12 +727,6 @@ int QuicHttpStream::DoSendBodyComplete(int rv) { } int QuicHttpStream::ProcessResponseHeaders(const SpdyHeaderBlock& headers) { - // The URLRequest logs these headers, so only log to the QuicSession's - // net log. - stream_->net_log().AddEvent( - NetLog::TYPE_QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS, - base::Bind(&SpdyHeaderBlockNetLogCallback, &headers)); - if (!SpdyHeadersToHttpResponse(headers, HTTP2, response_info_)) { DLOG(WARNING) << "Invalid headers"; return ERR_QUIC_PROTOCOL_ERROR; diff --git a/net/quic/quic_http_stream_test.cc b/net/quic/quic_http_stream_test.cc index fd9999e..cafeb0c 100644 --- a/net/quic/quic_http_stream_test.cc +++ b/net/quic/quic_http_stream_test.cc @@ -20,6 +20,8 @@ #include "net/base/upload_bytes_element_reader.h" #include "net/http/http_response_headers.h" #include "net/http/transport_security_state.h" +#include "net/log/test_net_log.h" +#include "net/log/test_net_log_util.h" #include "net/quic/congestion_control/send_algorithm_interface.h" #include "net/quic/crypto/crypto_protocol.h" #include "net/quic/crypto/proof_verifier_chromium.h" @@ -136,8 +138,7 @@ class QuicHttpStreamTest : public ::testing::TestWithParam<QuicVersion> { }; QuicHttpStreamTest() - : net_log_(BoundNetLog()), - use_closing_stream_(false), + : use_closing_stream_(false), crypto_config_(CryptoTestUtils::ProofVerifierForTesting()), read_buffer_(new IOBufferWithSize(4096)), promise_id_(kServerDataStreamId1), @@ -196,7 +197,7 @@ class QuicHttpStreamTest : public ::testing::TestWithParam<QuicVersion> { nullptr, 0, mock_writes_.get(), writes_.size())); MockUDPClientSocket* socket = - new MockUDPClientSocket(socket_data_.get(), net_log_.net_log()); + new MockUDPClientSocket(socket_data_.get(), net_log_.bound().net_log()); socket->Connect(peer_addr_); runner_ = new TestTaskRunner(&clock_); send_algorithm_ = new MockSendAlgorithm(); @@ -243,7 +244,7 @@ class QuicHttpStreamTest : public ::testing::TestWithParam<QuicVersion> { /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_, "CONNECTION_UNKNOWN", base::TimeTicks::Now(), &push_promise_index_, base::ThreadTaskRunnerHandle::Get().get(), - /*socket_performance_watcher=*/nullptr, nullptr)); + /*socket_performance_watcher=*/nullptr, net_log_.bound().net_log())); session_->Initialize(); session_->GetCryptoStream()->CryptoConnect(); EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed()); @@ -417,7 +418,7 @@ class QuicHttpStreamTest : public ::testing::TestWithParam<QuicVersion> { stream->OnPromiseHeadersComplete(id, serialized_push_promise_.size()); } - BoundNetLog net_log_; + BoundTestNetLog net_log_; bool use_closing_stream_; MockSendAlgorithm* send_algorithm_; scoped_refptr<TestTaskRunner> runner_; @@ -480,8 +481,9 @@ TEST_P(QuicHttpStreamTest, CanReuseConnection) { TEST_P(QuicHttpStreamTest, DisableConnectionMigrationForStream) { request_.load_flags |= LOAD_DISABLE_CONNECTION_MIGRATION; Initialize(); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); QuicChromiumClientStream* client_stream = QuicHttpStreamPeer::GetQuicChromiumClientStream(stream_.get()); EXPECT_FALSE(client_stream->can_migrate()); @@ -497,8 +499,9 @@ TEST_P(QuicHttpStreamTest, GetRequest) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -549,8 +552,10 @@ TEST_P(QuicHttpStreamTest, GetRequestWithTrailers) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); + EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -608,6 +613,21 @@ TEST_P(QuicHttpStreamTest, GetRequestWithTrailers) { static_cast<int64_t>(spdy_response_header_frame_length + strlen(kResponseBody) + +spdy_trailers_frame_length), stream_->GetTotalReceivedBytes()); + // Check that NetLog was filled as expected. + TestNetLogEntry::List entries; + net_log_.GetEntries(&entries); + size_t pos = ExpectLogContainsSomewhere( + entries, /*min_offset=*/0, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); + pos = ExpectLogContainsSomewhere( + entries, /*min_offset=*/pos, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); + ExpectLogContainsSomewhere( + entries, /*min_offset=*/pos, + NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS, + NetLog::PHASE_NONE); } // Regression test for http://crbug.com/288128 @@ -621,8 +641,9 @@ TEST_P(QuicHttpStreamTest, GetRequestLargeResponse) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -671,8 +692,9 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendRequest) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); session_->connection()->CloseConnection(QUIC_NO_ERROR, ConnectionCloseSource::FROM_PEER); @@ -692,8 +714,9 @@ TEST_P(QuicHttpStreamTest, GetSSLInfoAfterSessionClosed) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); SSLInfo ssl_info; EXPECT_FALSE(ssl_info.is_valid()); @@ -720,8 +743,9 @@ TEST_P(QuicHttpStreamTest, LogGranularQuicConnectionError) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -750,8 +774,9 @@ TEST_P(QuicHttpStreamTest, DoNotLogGranularQuicErrorIfHandshakeNotConfirmed) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -784,8 +809,9 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeReadResponseHeaders) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -821,8 +847,9 @@ TEST_P(QuicHttpStreamTest, SendPostRequest) { request_.upload_data_stream = &upload_data_stream; ASSERT_EQ(OK, request_.upload_data_stream->Init(CompletionCallback())); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -884,8 +911,9 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequest) { ASSERT_EQ(OK, request_.upload_data_stream->Init( TestCompletionCallback().callback())); - ASSERT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + ASSERT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); ASSERT_EQ(ERR_IO_PENDING, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -951,8 +979,9 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithFinalEmptyDataPacket) { ASSERT_EQ(OK, request_.upload_data_stream->Init( TestCompletionCallback().callback())); - ASSERT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + ASSERT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); ASSERT_EQ(ERR_IO_PENDING, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -1013,8 +1042,9 @@ TEST_P(QuicHttpStreamTest, SendChunkedPostRequestWithOneEmptyDataPacket) { ASSERT_EQ(OK, request_.upload_data_stream->Init( TestCompletionCallback().callback())); - ASSERT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + ASSERT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); ASSERT_EQ(ERR_IO_PENDING, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -1070,8 +1100,9 @@ TEST_P(QuicHttpStreamTest, DestroyedEarly) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, callback_.callback())); @@ -1108,7 +1139,7 @@ TEST_P(QuicHttpStreamTest, Priority) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_, + EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_.bound(), callback_.callback())); // Check that priority is highest. @@ -1157,7 +1188,7 @@ TEST_P(QuicHttpStreamTest, CheckPriorityWithNoDelegate) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_, + EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, net_log_.bound(), callback_.callback())); // Check that priority is highest. @@ -1191,8 +1222,9 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendHeadersComplete) { ASSERT_EQ(OK, request_.upload_data_stream->Init( TestCompletionCallback().callback())); - ASSERT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + ASSERT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); ASSERT_EQ(ERR_QUIC_PROTOCOL_ERROR, stream_->SendRequest(headers_, &response_, callback_.callback())); } @@ -1215,8 +1247,9 @@ TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendBodyComplete) { ASSERT_EQ(OK, request_.upload_data_stream->Init( TestCompletionCallback().callback())); - ASSERT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + ASSERT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); ASSERT_EQ(ERR_QUIC_PROTOCOL_ERROR, stream_->SendRequest(headers_, &response_, callback_.callback())); } @@ -1229,8 +1262,9 @@ TEST_P(QuicHttpStreamTest, ServerPushGetRequest) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); // TODO(ckrasic) - could do this via constructing a PUSH_PROMISE // packet, but does it matter? @@ -1241,9 +1275,9 @@ TEST_P(QuicHttpStreamTest, ServerPushGetRequest) { // Make the second stream that will exercise the first step of the // server push rendezvous mechanism. - EXPECT_EQ(OK, - promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, - net_log_, callback_.callback())); + EXPECT_EQ(OK, promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), + callback_.callback())); // Receive the promised response headers. response_headers_ = promised_response_; @@ -1293,8 +1327,9 @@ TEST_P(QuicHttpStreamTest, ServerPushGetRequestSlowResponse) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); // TODO(ckrasic) - could do this via constructing a PUSH_PROMISE // packet, but does it matter? @@ -1305,9 +1340,9 @@ TEST_P(QuicHttpStreamTest, ServerPushGetRequestSlowResponse) { // Make the second stream that will exercise the first step of the // server push rendezvous mechanism. - EXPECT_EQ(OK, - promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, - net_log_, callback_.callback())); + EXPECT_EQ(OK, promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), + callback_.callback())); // Now sending a matching request will rendezvous with the promised // stream, but pending secondary validation. @@ -1364,8 +1399,9 @@ TEST_P(QuicHttpStreamTest, ServerPushCrossOriginOK) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); // TODO(ckrasic) - could do this via constructing a PUSH_PROMISE // packet, but does it matter? @@ -1382,9 +1418,9 @@ TEST_P(QuicHttpStreamTest, ServerPushCrossOriginOK) { // Make the second stream that will exercise the first step of the // server push rendezvous mechanism. - EXPECT_EQ(OK, - promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, - net_log_, callback_.callback())); + EXPECT_EQ(OK, promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), + callback_.callback())); // Receive the promised response headers. response_headers_ = promised_response_; @@ -1434,8 +1470,9 @@ TEST_P(QuicHttpStreamTest, ServerPushCrossOriginFail) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); // TODO(ckrasic) - could do this via constructing a PUSH_PROMISE // packet, but does it matter? @@ -1458,8 +1495,9 @@ TEST_P(QuicHttpStreamTest, ServerPushVaryCheckOK) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); push_promise_["accept-encoding"] = "gzip"; serialized_push_promise_ = @@ -1474,9 +1512,9 @@ TEST_P(QuicHttpStreamTest, ServerPushVaryCheckOK) { // Make the second stream that will exercise the first step of the // server push rendezvous mechanism. - EXPECT_EQ(OK, - promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, - net_log_, callback_.callback())); + EXPECT_EQ(OK, promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), + callback_.callback())); headers_.SetHeader("accept-encoding", "gzip"); @@ -1547,8 +1585,9 @@ TEST_P(QuicHttpStreamTest, ServerPushVaryCheckFail) { request_.method = "GET"; request_.url = GURL("http://www.example.org/"); - EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, net_log_, - callback_.callback())); + EXPECT_EQ(OK, + stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), callback_.callback())); push_promise_["accept-encoding"] = "gzip"; serialized_push_promise_ = @@ -1563,9 +1602,9 @@ TEST_P(QuicHttpStreamTest, ServerPushVaryCheckFail) { // Make the second stream that will exercise the first step of the // server push rendezvous mechanism. - EXPECT_EQ(OK, - promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, - net_log_, callback_.callback())); + EXPECT_EQ(OK, promised_stream_->InitializeStream(&request_, DEFAULT_PRIORITY, + net_log_.bound(), + callback_.callback())); headers_.SetHeader("accept-encoding", "sdch"); |