From 5703dd2f1793b1653dc2b0441d601bff7b6dd0c4 Mon Sep 17 00:00:00 2001 From: "rch@chromium.org" Date: Fri, 3 Dec 2010 20:45:00 +0000 Subject: Change HttpProxyClientSocketPool so that when a new SpdyStream is created, it uses the NetLog from the SpdySession, not from the ConnectJob, so that we avoid circular dependencies. I attempted to verify the buggy behavior and the fix by adding a DCHECK() to ConnectJob::set_socket (which is the source of the cycle you detected), but unfortunately, it appears that our unit tests seems to use the same NetLog everywhere. So to test this, I added a very specific DCHECK in passive_log_collector.cc which failed on every HTTPS request through a SPDY proxy when using the old code, and which never failed using this new code. BUG=65217 TEST=none Review URL: http://codereview.chromium.org/5587005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68209 0039d316-1c4b-4281-b951-d872f2087c98 --- net/http/http_proxy_client_socket_pool.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'net') diff --git a/net/http/http_proxy_client_socket_pool.cc b/net/http/http_proxy_client_socket_pool.cc index e43d02b..d0c177d 100644 --- a/net/http/http_proxy_client_socket_pool.cc +++ b/net/http/http_proxy_client_socket_pool.cc @@ -283,7 +283,8 @@ int HttpProxyConnectJob::DoSpdyProxyCreateStream() { next_state_ = STATE_SPDY_PROXY_CREATE_STREAM_COMPLETE; return spdy_session->CreateStream(params_->request_url(), params_->destination().priority(), - &spdy_stream_, net_log(), &callback_); + &spdy_stream_, spdy_session->net_log(), + &callback_); } int HttpProxyConnectJob::DoSpdyProxyCreateStreamComplete(int result) { -- cgit v1.1