Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1985)

Unified Diff: net/spdy/spdy_stream.cc

Issue 1828203005: Expose SPDY pushes in DevTools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/spdy/spdy_stream.cc
diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc
index 214a67febc59809f2523779d3422423fb89a169c..8213480dfec1b5c121b1200c919091cc265d2cf2 100644
--- a/net/spdy/spdy_stream.cc
+++ b/net/spdy/spdy_stream.cc
@@ -480,6 +480,10 @@ void SpdyStream::OnPushPromiseHeadersReceived(const SpdyHeaderBlock& headers) {
void SpdyStream::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) {
DCHECK(session_->IsStreamActive(stream_id_));
+ // Track our bandwidth.
+ recv_bytes_ += buffer ? buffer->GetRemainingSize() : 0;
+ recv_last_byte_time_ = base::TimeTicks::Now();
+
// If we're still buffering data for a push stream, we will do the
// check for data received with incomplete headers in
// PushedStreamReplayData().
@@ -541,10 +545,6 @@ void SpdyStream::OnDataReceived(scoped_ptr<SpdyBuffer> buffer) {
buffer->AddConsumeCallback(
base::Bind(&SpdyStream::OnReadBufferConsumed, GetWeakPtr()));
- // Track our bandwidth.
- recv_bytes_ += length;
- recv_last_byte_time_ = base::TimeTicks::Now();
-
// May close |this|.
delegate_->OnDataReceived(std::move(buffer));
}
@@ -576,9 +576,9 @@ void SpdyStream::OnFrameWriteComplete(SpdyFrameType frame_type,
}
if (pending_send_status_ == NO_MORE_DATA_TO_SEND) {
- if(io_state_ == STATE_OPEN) {
+ if (io_state_ == STATE_OPEN) {
io_state_ = STATE_HALF_CLOSED_LOCAL;
- } else if(io_state_ == STATE_HALF_CLOSED_REMOTE) {
+ } else if (io_state_ == STATE_HALF_CLOSED_REMOTE) {
io_state_ = STATE_CLOSED;
} else {
NOTREACHED() << io_state_;
@@ -774,8 +774,15 @@ void SpdyStream::AddRawSentBytes(size_t sent_bytes) {
bool SpdyStream::GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const {
if (stream_id_ == 0)
return false;
-
- return session_->GetLoadTimingInfo(stream_id_, load_timing_info);
+ bool result = session_->GetLoadTimingInfo(stream_id_, load_timing_info);
+ if (type_ == SPDY_PUSH_STREAM) {
+ load_timing_info->push_start = recv_first_byte_time_;
+ bool done_receiving = IsClosed() || (!pending_recv_data_.empty() &&
+ !pending_recv_data_.back());
+ load_timing_info->push_end =
Bence 2016/03/25 14:42:54 How about this instead: if (done_receiving) push_e
+ done_receiving ? recv_last_byte_time_ : base::TimeTicks();
+ }
+ return result;
}
GURL SpdyStream::GetUrlFromHeaders() const {

Powered by Google App Engine
This is Rietveld 408576698