Index: net/http/http_stream_factory_impl_job.cc |
=================================================================== |
--- net/http/http_stream_factory_impl_job.cc (revision 112817) |
+++ net/http/http_stream_factory_impl_job.cc (working copy) |
@@ -65,6 +65,43 @@ |
return dict; |
} |
+// Parameters associated with the Proto (with NPN negotiation) of a HTTP stream. |
+class HttpStreamProtoParameters : public NetLog::EventParameters { |
+ public: |
+ static scoped_refptr<HttpStreamProtoParameters> Create( |
+ const SSLClientSocket::NextProtoStatus status, |
+ const std::string& proto, |
+ const std::string& server_proto) { |
agl
2011/12/05 16:38:10
s/server_proto/server_protos/
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ return make_scoped_refptr(new HttpStreamProtoParameters( |
+ status, proto, server_proto)); |
agl
2011/12/05 16:38:10
s/server_proto/server_protos/
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ } |
+ |
+ virtual Value* ToValue() const; |
+ |
+ private: |
+ HttpStreamProtoParameters(const SSLClientSocket::NextProtoStatus status, |
+ const std::string& proto, |
+ const std::string& server_proto) |
agl
2011/12/05 16:38:10
s/server_proto/server_protos/
(and the rest.)
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ : status_(status), |
+ proto_(proto), |
+ server_proto_(server_proto) {} |
+ |
+ const SSLClientSocket::NextProtoStatus status_; |
+ const std::string proto_; |
+ const std::string server_proto_; |
+}; |
+ |
+Value* HttpStreamProtoParameters::ToValue() const { |
+ DictionaryValue* dict = new DictionaryValue(); |
+ |
+ dict->SetString("next_proto_status", |
+ SSLClientSocket::NextProtoStatusToString(status_)); |
+ dict->SetString("proto", proto_); |
+ dict->SetString("server_proto", |
agl
2011/12/05 16:38:10
s/server_proto/server_protos/
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ SSLClientSocket::ServerProtoToString(server_proto_)); |
agl
2011/12/05 16:38:10
s/Proto/Protos/
s/server_proto_/server_protos_/
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ return dict; |
+} |
+ |
HttpStreamFactoryImpl::Job::Job(HttpStreamFactoryImpl* stream_factory, |
HttpNetworkSession* session, |
const HttpRequestInfo& request_info, |
@@ -711,6 +748,13 @@ |
static_cast<SSLClientSocket*>(connection_->socket()); |
if (ssl_socket->was_npn_negotiated()) { |
was_npn_negotiated_ = true; |
+ std::string proto; |
+ std::string server_proto; |
agl
2011/12/05 16:38:10
server_protos
ramant (doing other things)
2011/12/05 19:03:28
Done.
|
+ SSLClientSocket::NextProtoStatus status = |
+ ssl_socket->GetNextProto(&proto, &server_proto); |
+ net_log_.AddEvent( |
+ NetLog::TYPE_HTTP_STREAM_REQUEST_PROTO, |
+ HttpStreamProtoParameters::Create(status, proto, server_proto)); |
if (ssl_socket->was_spdy_negotiated()) |
SwitchToSpdyMode(); |
} |