diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-13 03:51:27 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-13 03:51:27 +0000 |
commit | 808957c05986a64232b7bb9c108ed43fa09d1fb7 (patch) | |
tree | db147c9aff6260db22ecb32a1d6e19b3bbf8e339 /net/spdy | |
parent | b351effce32f7ba0273d74b171e08d03683eb775 (diff) | |
download | chromium_src-808957c05986a64232b7bb9c108ed43fa09d1fb7.zip chromium_src-808957c05986a64232b7bb9c108ed43fa09d1fb7.tar.gz chromium_src-808957c05986a64232b7bb9c108ed43fa09d1fb7.tar.bz2 |
Add a ConnectionInfo enum which describes the kind of connection used to fetch a response. This will eventually be made visible in window.chrome.loadTimings().
Review URL: https://chromiumcodereview.appspot.com/12518020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187763 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy')
-rw-r--r-- | net/spdy/spdy_http_stream.cc | 10 | ||||
-rw-r--r-- | net/spdy/spdy_network_transaction_spdy2_unittest.cc | 8 | ||||
-rw-r--r-- | net/spdy/spdy_network_transaction_spdy3_unittest.cc | 7 |
3 files changed, 25 insertions, 0 deletions
diff --git a/net/spdy/spdy_http_stream.cc b/net/spdy/spdy_http_stream.cc index 2aa8b1b..fb76f4d 100644 --- a/net/spdy/spdy_http_stream.cc +++ b/net/spdy/spdy_http_stream.cc @@ -410,6 +410,16 @@ int SpdyHttpStream::OnResponseReceived(const SpdyHeaderBlock& response, response_info_->npn_negotiated_protocol = SSLClientSocket::NextProtoToString(protocol_negotiated); response_info_->request_time = stream_->GetRequestTime(); + switch (spdy_session_->GetProtocolVersion()) { + case 2: + response_info_->connection_info = HttpResponseInfo::CONNECTION_INFO_SPDY2; + break; + case 3: + response_info_->connection_info = HttpResponseInfo::CONNECTION_INFO_SPDY3; + break; + default: + NOTREACHED(); + } response_info_->vary_data.Init(*request_info_, *response_info_->headers); // TODO(ahendrickson): This is recorded after the entire SYN_STREAM control // frame has been received and processed. Move to framer? diff --git a/net/spdy/spdy_network_transaction_spdy2_unittest.cc b/net/spdy/spdy_network_transaction_spdy2_unittest.cc index 6cb6420..f3475cf 100644 --- a/net/spdy/spdy_network_transaction_spdy2_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy2_unittest.cc @@ -184,6 +184,14 @@ class SpdyNetworkTransactionSpdy2Test ASSERT_TRUE(response->headers != NULL); EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); EXPECT_EQ(spdy_enabled_, response->was_fetched_via_spdy); + EXPECT_EQ(spdy_enabled_, response->was_fetched_via_spdy); + if (HttpStreamFactory::spdy_enabled()) { + EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_SPDY2, + response->connection_info); + } else { + EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_HTTP1, + response->connection_info); + } if (test_type_ == SPDYNPN && spdy_enabled_) { EXPECT_TRUE(response->was_npn_negotiated); } else { diff --git a/net/spdy/spdy_network_transaction_spdy3_unittest.cc b/net/spdy/spdy_network_transaction_spdy3_unittest.cc index bf0b798..647c2f8 100644 --- a/net/spdy/spdy_network_transaction_spdy3_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy3_unittest.cc @@ -186,6 +186,13 @@ class SpdyNetworkTransactionSpdy3Test ASSERT_TRUE(response->headers != NULL); EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); EXPECT_EQ(spdy_enabled_, response->was_fetched_via_spdy); + if (HttpStreamFactory::spdy_enabled()) { + EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_SPDY3, + response->connection_info); + } else { + EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_HTTP1, + response->connection_info); + } if (test_type_ == SPDYNPN && spdy_enabled_) { EXPECT_TRUE(response->was_npn_negotiated); } else { |