summaryrefslogtreecommitdiffstats
path: root/net/spdy
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-13 03:51:27 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-13 03:51:27 +0000
commit808957c05986a64232b7bb9c108ed43fa09d1fb7 (patch)
treedb147c9aff6260db22ecb32a1d6e19b3bbf8e339 /net/spdy
parentb351effce32f7ba0273d74b171e08d03683eb775 (diff)
downloadchromium_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.cc10
-rw-r--r--net/spdy/spdy_network_transaction_spdy2_unittest.cc8
-rw-r--r--net/spdy/spdy_network_transaction_spdy3_unittest.cc7
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 {