| Index: net/quic/chromium/quic_http_stream.cc
|
| diff --git a/net/quic/chromium/quic_http_stream.cc b/net/quic/chromium/quic_http_stream.cc
|
| index e28f01f556dfa130e251e67674a55cd316ebd035..095f86b72d9477678c87d5e604306b4760d00083 100644
|
| --- a/net/quic/chromium/quic_http_stream.cc
|
| +++ b/net/quic/chromium/quic_http_stream.cc
|
| @@ -108,8 +108,8 @@ bool QuicHttpStream::CheckVary(const SpdyHeaderBlock& client_request,
|
| void QuicHttpStream::OnRendezvousResult(QuicSpdyStream* stream) {
|
| push_handle_ = nullptr;
|
| if (stream) {
|
| - stream_ = static_cast<QuicChromiumClientStream*>(stream);
|
| - stream_->SetDelegate(this);
|
| + stream_ =
|
| + static_cast<QuicChromiumClientStream*>(stream)->CreateHandle(this);
|
| }
|
|
|
| // callback_ should only be non-null in the case of asynchronous
|
| @@ -358,7 +358,7 @@ void QuicHttpStream::Close(bool /*not_reusable*/) {
|
| SaveResponseStatus();
|
| // Note: the not_reusable flag has no meaning for QUIC streams.
|
| if (stream_) {
|
| - stream_->SetDelegate(nullptr);
|
| + stream_->ClearDelegate();
|
| stream_->Reset(QUIC_STREAM_CANCELLED);
|
| }
|
| ResetStream();
|
| @@ -378,10 +378,9 @@ int64_t QuicHttpStream::GetTotalReceivedBytes() const {
|
| // bytes. Change this to include QUIC overhead as well.
|
| int64_t total_received_bytes = headers_bytes_received_;
|
| if (stream_) {
|
| - DCHECK_LE(stream_->sequencer()->NumBytesConsumed(),
|
| - stream_->stream_bytes_read());
|
| + DCHECK_LE(stream_->NumBytesConsumed(), stream_->stream_bytes_read());
|
| // Only count the uniquely received bytes.
|
| - total_received_bytes += stream_->sequencer()->NumBytesConsumed();
|
| + total_received_bytes += stream_->NumBytesConsumed();
|
| } else {
|
| total_received_bytes += closed_stream_received_bytes_;
|
| }
|
| @@ -671,7 +670,7 @@ int QuicHttpStream::DoReadRequestBodyComplete(int rv) {
|
| // |rv| is the result of read from the request body from the last call to
|
| // DoSendBody().
|
| if (rv < 0) {
|
| - stream_->SetDelegate(nullptr);
|
| + stream_->ClearDelegate();
|
| stream_->Reset(QUIC_ERROR_PROCESSING_STREAM);
|
| ResetStream();
|
| return rv;
|
| @@ -764,7 +763,7 @@ int QuicHttpStream::ReadAvailableData(IOBuffer* buf, int buf_len) {
|
| if (null_stream)
|
| return rv;
|
| if (stream_->IsDoneReading()) {
|
| - stream_->SetDelegate(nullptr);
|
| + stream_->ClearDelegate();
|
| stream_->OnFinRead();
|
| SetResponseStatus(OK);
|
| ResetStream();
|
| @@ -779,12 +778,12 @@ void QuicHttpStream::ResetStream() {
|
| }
|
| if (!stream_)
|
| return;
|
| - DCHECK_LE(stream_->sequencer()->NumBytesConsumed(),
|
| - stream_->stream_bytes_read());
|
| + DCHECK_LE(stream_->NumBytesConsumed(), stream_->stream_bytes_read());
|
| // Only count the uniquely received bytes.
|
| - closed_stream_received_bytes_ = stream_->sequencer()->NumBytesConsumed();
|
| + closed_stream_received_bytes_ = stream_->NumBytesConsumed();
|
| closed_stream_sent_bytes_ = stream_->stream_bytes_written();
|
| closed_is_first_stream_ = stream_->IsFirstStream();
|
| + stream_->ClearDelegate();
|
| stream_ = nullptr;
|
|
|
| // If |request_body_stream_| is non-NULL, Reset it, to abort any in progress
|
|
|