diff options
author | kristianm@google.com <kristianm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-30 13:00:20 +0000 |
---|---|---|
committer | kristianm@google.com <kristianm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-30 13:00:20 +0000 |
commit | 5acdce175d32ba915ac5933ae197e4fc59f7ec8f (patch) | |
tree | 453c421316ffeb17ed92295ca4e16c0df9b62123 | |
parent | 37961b1922d7abcdad8849e4cbab9b7fda8066d0 (diff) | |
download | chromium_src-5acdce175d32ba915ac5933ae197e4fc59f7ec8f.zip chromium_src-5acdce175d32ba915ac5933ae197e4fc59f7ec8f.tar.gz chromium_src-5acdce175d32ba915ac5933ae197e4fc59f7ec8f.tar.bz2 |
Add ignore limits flag and use for sync request
Letting sync request ignore the socket and group limits when
loading to prevent the WebCore thread from locking up.
BUG=45986,58703
TEST=No new tests
Review URL: http://codereview.chromium.org/6756004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79817 0039d316-1c4b-4281-b951-d872f2087c98
24 files changed, 89 insertions, 44 deletions
diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc index b8392d0..d746e15 100644 --- a/content/browser/renderer_host/resource_dispatcher_host.cc +++ b/content/browser/renderer_host/resource_dispatcher_host.cc @@ -435,6 +435,9 @@ void ResourceDispatcherHost::BeginRequest( if (IsPrerenderingChildRoutePair(child_id, route_id)) load_flags |= net::LOAD_PRERENDER; + if (sync_result) + load_flags |= net::LOAD_IGNORE_LIMITS; + // Raw headers are sensitive, as they inclide Cookie/Set-Cookie, so only // allow requesting them if requestor has ReadRawCookies permission. if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h index 25b7948..f6cdddb 100644 --- a/net/base/load_flags_list.h +++ b/net/base/load_flags_list.h @@ -105,3 +105,7 @@ LOAD_FLAG(PREFETCH, 1 << 23) // Indicates that this load was requested by a page that is currently // prerendering. LOAD_FLAG(PRERENDER, 1 << 24) + +// Indicates that this is a load that ignores limits and should complete +// immediately. +LOAD_FLAG(IGNORE_LIMITS, 1 << 25) diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc index f79b2d2..90cb0c4 100644 --- a/net/http/http_network_transaction_unittest.cc +++ b/net/http/http_network_transaction_unittest.cc @@ -7047,7 +7047,7 @@ TEST_F(HttpNetworkTransactionTest, scoped_refptr<SpdySession> spdy_session = session->spdy_session_pool()->Get(pair, BoundNetLog()); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(host_port_pair, MEDIUM, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(ERR_IO_PENDING, @@ -8296,7 +8296,7 @@ TEST_F(HttpNetworkTransactionTest, PreconnectWithExistingSpdySession) { scoped_refptr<SpdySession> spdy_session = session->spdy_session_pool()->Get(pair, BoundNetLog()); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(host_port_pair, MEDIUM, GURL(), false, false)); TestCompletionCallback callback; scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); diff --git a/net/http/http_proxy_client_socket_pool.cc b/net/http/http_proxy_client_socket_pool.cc index 13d6286..39e899c 100644 --- a/net/http/http_proxy_client_socket_pool.cc +++ b/net/http/http_proxy_client_socket_pool.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -48,6 +48,10 @@ HttpProxySocketParams::HttpProxySocketParams( tunnel_(tunnel) { DCHECK((tcp_params == NULL && ssl_params != NULL) || (tcp_params != NULL && ssl_params == NULL)); + if (tcp_params_) + ignore_limits_ = tcp_params->ignore_limits(); + else + ignore_limits_ = ssl_params->ignore_limits(); } const HostResolver::RequestInfo& HttpProxySocketParams::destination() const { diff --git a/net/http/http_proxy_client_socket_pool.h b/net/http/http_proxy_client_socket_pool.h index cc9c7a8..3efbf3c 100644 --- a/net/http/http_proxy_client_socket_pool.h +++ b/net/http/http_proxy_client_socket_pool.h @@ -66,6 +66,7 @@ class HttpProxySocketParams : public base::RefCounted<HttpProxySocketParams> { } const HostResolver::RequestInfo& destination() const; bool tunnel() const { return tunnel_; } + bool ignore_limits() const { return ignore_limits_; } private: friend class base::RefCounted<HttpProxySocketParams>; @@ -80,6 +81,7 @@ class HttpProxySocketParams : public base::RefCounted<HttpProxySocketParams> { HttpAuthCache* const http_auth_cache_; HttpAuthHandlerFactory* const http_auth_handler_factory_; const bool tunnel_; + bool ignore_limits_; DISALLOW_COPY_AND_ASSIGN(HttpProxySocketParams); }; diff --git a/net/http/http_proxy_client_socket_pool_unittest.cc b/net/http/http_proxy_client_socket_pool_unittest.cc index 5830b3a7..63bb94a 100644 --- a/net/http/http_proxy_client_socket_pool_unittest.cc +++ b/net/http/http_proxy_client_socket_pool_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -49,7 +49,7 @@ class HttpProxyClientSocketPoolTest : public TestWithHttpParam { HttpProxyClientSocketPoolTest() : ssl_config_(), ignored_tcp_socket_params_(new TCPSocketParams( - HostPortPair("proxy", 80), LOWEST, GURL(), false)), + HostPortPair("proxy", 80), LOWEST, GURL(), false, false)), ignored_ssl_socket_params_(new SSLSocketParams( ignored_tcp_socket_params_, NULL, NULL, ProxyServer::SCHEME_DIRECT, HostPortPair("www.google.com", 443), ssl_config_, 0, false, false)), diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc index 6d5e410..d84ecd1 100644 --- a/net/socket/client_socket_pool_base.cc +++ b/net/socket/client_socket_pool_base.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -133,11 +133,13 @@ ClientSocketPoolBaseHelper::Request::Request( ClientSocketHandle* handle, CompletionCallback* callback, RequestPriority priority, + bool ignore_limits, Flags flags, const BoundNetLog& net_log) : handle_(handle), callback_(callback), priority_(priority), + ignore_limits_(ignore_limits), flags_(flags), net_log_(net_log) {} @@ -291,13 +293,14 @@ int ClientSocketPoolBaseHelper::RequestSocketInternal( return ERR_IO_PENDING; // Can we make another active socket now? - if (!group->HasAvailableSocketSlot(max_sockets_per_group_)) { + if (!group->HasAvailableSocketSlot(max_sockets_per_group_) && + !request->ignore_limits()) { request->net_log().AddEvent( NetLog::TYPE_SOCKET_POOL_STALLED_MAX_SOCKETS_PER_GROUP, NULL); return ERR_IO_PENDING; } - if (ReachedMaxSocketsLimit()) { + if (ReachedMaxSocketsLimit() && !request->ignore_limits()) { if (idle_socket_count() > 0) { bool closed = CloseOneIdleSocketExceptInGroup(group); if (preconnecting && !closed) @@ -942,7 +945,8 @@ bool ClientSocketPoolBaseHelper::ReachedMaxSocketsLimit() const { // Each connecting socket will eventually connect and be handed out. int total = handed_out_socket_count_ + connecting_socket_count_ + idle_socket_count(); - DCHECK_LE(total, max_sockets_); + // There can be more sockets than the limit since some requests can ignore + // the limit if (total < max_sockets_) return false; return true; diff --git a/net/socket/client_socket_pool_base.h b/net/socket/client_socket_pool_base.h index 2382a3f..fba365820 100644 --- a/net/socket/client_socket_pool_base.h +++ b/net/socket/client_socket_pool_base.h @@ -171,6 +171,7 @@ class ClientSocketPoolBaseHelper Request(ClientSocketHandle* handle, CompletionCallback* callback, RequestPriority priority, + bool ignore_limits, Flags flags, const BoundNetLog& net_log); @@ -179,6 +180,7 @@ class ClientSocketPoolBaseHelper ClientSocketHandle* handle() const { return handle_; } CompletionCallback* callback() const { return callback_; } RequestPriority priority() const { return priority_; } + bool ignore_limits() const { return ignore_limits_; } Flags flags() const { return flags_; } const BoundNetLog& net_log() const { return net_log_; } @@ -186,6 +188,7 @@ class ClientSocketPoolBaseHelper ClientSocketHandle* const handle_; CompletionCallback* const callback_; const RequestPriority priority_; + bool ignore_limits_; const Flags flags_; BoundNetLog net_log_; @@ -563,10 +566,11 @@ class ClientSocketPoolBase { CompletionCallback* callback, RequestPriority priority, internal::ClientSocketPoolBaseHelper::Flags flags, + bool ignore_limits, const scoped_refptr<SocketParams>& params, const BoundNetLog& net_log) : internal::ClientSocketPoolBaseHelper::Request( - handle, callback, priority, flags, net_log), + handle, callback, priority, ignore_limits, flags, net_log), params_(params) {} const scoped_refptr<SocketParams>& params() const { return params_; } @@ -624,6 +628,7 @@ class ClientSocketPoolBase { Request* request = new Request(handle, callback, priority, internal::ClientSocketPoolBaseHelper::NORMAL, + params->ignore_limits(), params, net_log); return helper_.RequestSocket(group_name, request); } @@ -639,6 +644,7 @@ class ClientSocketPoolBase { NULL /* no callback */, LOWEST, internal::ClientSocketPoolBaseHelper::NO_IDLE_SOCKETS, + params->ignore_limits(), params, net_log); helper_.RequestSockets(group_name, request, num_sockets); diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc index 50b7f96..d22b6dc 100644 --- a/net/socket/client_socket_pool_base_unittest.cc +++ b/net/socket/client_socket_pool_base_unittest.cc @@ -35,6 +35,8 @@ const int kDefaultMaxSocketsPerGroup = 2; const net::RequestPriority kDefaultPriority = MEDIUM; class TestSocketParams : public base::RefCounted<TestSocketParams> { + public: + bool ignore_limits() { return false; } private: friend class base::RefCounted<TestSocketParams>; ~TestSocketParams() {} @@ -591,7 +593,7 @@ TEST_F(ClientSocketPoolBaseTest, ConnectJob_NoTimeoutOnSynchronousCompletion) { TestClientSocketPoolBase::Request request( &ignored, NULL, kDefaultPriority, internal::ClientSocketPoolBaseHelper::NORMAL, - params_, BoundNetLog()); + false, params_, BoundNetLog()); scoped_ptr<TestConnectJob> job( new TestConnectJob(TestConnectJob::kMockJob, "a", @@ -611,7 +613,7 @@ TEST_F(ClientSocketPoolBaseTest, ConnectJob_TimedOut) { TestClientSocketPoolBase::Request request( &ignored, NULL, kDefaultPriority, internal::ClientSocketPoolBaseHelper::NORMAL, - params_, BoundNetLog()); + false, params_, BoundNetLog()); // Deleted by TestConnectJobDelegate. TestConnectJob* job = new TestConnectJob(TestConnectJob::kMockPendingJob, diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc index 68ff4ec..8539d72 100644 --- a/net/socket/client_socket_pool_manager.cc +++ b/net/socket/client_socket_pool_manager.cc @@ -96,11 +96,13 @@ int InitSocketPoolHelper(const HttpRequestInfo& request_info, if (using_ssl) connection_group = base::StringPrintf("ssl/%s", connection_group.c_str()); + bool ignore_limits = (request_info.load_flags & LOAD_IGNORE_LIMITS) != 0; if (proxy_info.is_direct()) { tcp_params = new TCPSocketParams(origin_host_port, request_info.priority, request_info.referrer, - disable_resolver_cache); + disable_resolver_cache, + ignore_limits); } else { ProxyServer proxy_server = proxy_info.proxy_server(); proxy_host_port.reset(new HostPortPair(proxy_server.host_port_pair())); @@ -108,7 +110,8 @@ int InitSocketPoolHelper(const HttpRequestInfo& request_info, new TCPSocketParams(*proxy_host_port, request_info.priority, request_info.referrer, - disable_resolver_cache)); + disable_resolver_cache, + ignore_limits)); if (proxy_info.is_http() || proxy_info.is_https()) { std::string user_agent; diff --git a/net/socket/deterministic_socket_data_unittest.cc b/net/socket/deterministic_socket_data_unittest.cc index 5e25aa0..8482a96 100644 --- a/net/socket/deterministic_socket_data_unittest.cc +++ b/net/socket/deterministic_socket_data_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -70,7 +70,7 @@ DeterministicSocketDataTest::DeterministicSocketDataTest() connect_data_(false, OK), url_("https://www.google.com"), endpoint_("www.google.com", 443), - tcp_params_(new TCPSocketParams(endpoint_, LOWEST, url_, false)), + tcp_params_(new TCPSocketParams(endpoint_, LOWEST, url_, false, false)), histograms_(""), socket_pool_(10, 10, &histograms_, &socket_factory_) { } diff --git a/net/socket/socks_client_socket_pool.cc b/net/socket/socks_client_socket_pool.cc index 42abb7b..97a797e 100644 --- a/net/socket/socks_client_socket_pool.cc +++ b/net/socket/socks_client_socket_pool.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -26,6 +26,10 @@ SOCKSSocketParams::SOCKSSocketParams( : tcp_params_(proxy_server), destination_(host_port_pair), socks_v5_(socks_v5) { + if (tcp_params_) + ignore_limits_ = tcp_params_->ignore_limits(); + else + ignore_limits_ = false; // The referrer is used by the DNS prefetch system to correlate resolutions // with the page that triggered them. It doesn't impact the actual addresses // that we resolve to. diff --git a/net/socket/socks_client_socket_pool.h b/net/socket/socks_client_socket_pool.h index d0e8699..c25423f 100644 --- a/net/socket/socks_client_socket_pool.h +++ b/net/socket/socks_client_socket_pool.h @@ -36,6 +36,7 @@ class SOCKSSocketParams : public base::RefCounted<SOCKSSocketParams> { } const HostResolver::RequestInfo& destination() const { return destination_; } bool is_socks_v5() const { return socks_v5_; } + bool ignore_limits() const { return ignore_limits_; } private: friend class base::RefCounted<SOCKSSocketParams>; @@ -46,6 +47,7 @@ class SOCKSSocketParams : public base::RefCounted<SOCKSSocketParams> { // This is the HTTP destination. HostResolver::RequestInfo destination_; const bool socks_v5_; + bool ignore_limits_; DISALLOW_COPY_AND_ASSIGN(SOCKSSocketParams); }; diff --git a/net/socket/socks_client_socket_pool_unittest.cc b/net/socket/socks_client_socket_pool_unittest.cc index 9627f1a..b8d44c4 100644 --- a/net/socket/socks_client_socket_pool_unittest.cc +++ b/net/socket/socks_client_socket_pool_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -54,7 +54,7 @@ class SOCKSClientSocketPoolTest : public testing::Test { SOCKSClientSocketPoolTest() : ignored_tcp_socket_params_(new TCPSocketParams( - HostPortPair("proxy", 80), MEDIUM, GURL(), false)), + HostPortPair("proxy", 80), MEDIUM, GURL(), false, false)), tcp_histograms_("MockTCP"), tcp_socket_pool_( kMaxSockets, kMaxSocketsPerGroup, diff --git a/net/socket/ssl_client_socket_pool.cc b/net/socket/ssl_client_socket_pool.cc index cbd87af..8d470d2 100644 --- a/net/socket/ssl_client_socket_pool.cc +++ b/net/socket/ssl_client_socket_pool.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -45,18 +45,21 @@ SSLSocketParams::SSLSocketParams( DCHECK(tcp_params_.get() != NULL); DCHECK(http_proxy_params_.get() == NULL); DCHECK(socks_params_.get() == NULL); + ignore_limits_ = tcp_params_->ignore_limits(); break; case ProxyServer::SCHEME_HTTP: case ProxyServer::SCHEME_HTTPS: DCHECK(tcp_params_.get() == NULL); DCHECK(http_proxy_params_.get() != NULL); DCHECK(socks_params_.get() == NULL); + ignore_limits_ = http_proxy_params_->ignore_limits(); break; case ProxyServer::SCHEME_SOCKS4: case ProxyServer::SCHEME_SOCKS5: DCHECK(tcp_params_.get() == NULL); DCHECK(http_proxy_params_.get() == NULL); DCHECK(socks_params_.get() != NULL); + ignore_limits_ = socks_params_->ignore_limits(); break; default: LOG(DFATAL) << "unknown proxy type"; diff --git a/net/socket/ssl_client_socket_pool.h b/net/socket/ssl_client_socket_pool.h index fdec6d6..c0fbd589 100644 --- a/net/socket/ssl_client_socket_pool.h +++ b/net/socket/ssl_client_socket_pool.h @@ -65,6 +65,7 @@ class SSLSocketParams : public base::RefCounted<SSLSocketParams> { int load_flags() const { return load_flags_; } bool force_spdy_over_ssl() const { return force_spdy_over_ssl_; } bool want_spdy_over_npn() const { return want_spdy_over_npn_; } + bool ignore_limits() const { return ignore_limits_; } private: friend class base::RefCounted<SSLSocketParams>; @@ -79,6 +80,7 @@ class SSLSocketParams : public base::RefCounted<SSLSocketParams> { const int load_flags_; const bool force_spdy_over_ssl_; const bool want_spdy_over_npn_; + bool ignore_limits_; DISALLOW_COPY_AND_ASSIGN(SSLSocketParams); }; diff --git a/net/socket/ssl_client_socket_pool_unittest.cc b/net/socket/ssl_client_socket_pool_unittest.cc index 4c1585d..e5dc2d5 100644 --- a/net/socket/ssl_client_socket_pool_unittest.cc +++ b/net/socket/ssl_client_socket_pool_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -44,7 +44,7 @@ class SSLClientSocketPoolTest : public testing::Test { &host_resolver_)), session_(CreateNetworkSession()), direct_tcp_socket_params_(new TCPSocketParams( - HostPortPair("host", 443), MEDIUM, GURL(), false)), + HostPortPair("host", 443), MEDIUM, GURL(), false, false)), tcp_histograms_("MockTCP"), tcp_socket_pool_( kMaxSockets, @@ -52,7 +52,7 @@ class SSLClientSocketPoolTest : public testing::Test { &tcp_histograms_, &socket_factory_), proxy_tcp_socket_params_(new TCPSocketParams( - HostPortPair("proxy", 443), MEDIUM, GURL(), false)), + HostPortPair("proxy", 443), MEDIUM, GURL(), false, false)), socks_socket_params_(new SOCKSSocketParams( proxy_tcp_socket_params_, true, HostPortPair("sockshost", 443), MEDIUM, GURL())), diff --git a/net/socket/tcp_client_socket_pool.cc b/net/socket/tcp_client_socket_pool.cc index 716c798..fa6e2ef 100644 --- a/net/socket/tcp_client_socket_pool.cc +++ b/net/socket/tcp_client_socket_pool.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -23,8 +23,9 @@ namespace net { TCPSocketParams::TCPSocketParams(const HostPortPair& host_port_pair, RequestPriority priority, const GURL& referrer, - bool disable_resolver_cache) - : destination_(host_port_pair) { + bool disable_resolver_cache, + bool ignore_limits) + : destination_(host_port_pair), ignore_limits_(ignore_limits) { Initialize(priority, referrer, disable_resolver_cache); } diff --git a/net/socket/tcp_client_socket_pool.h b/net/socket/tcp_client_socket_pool.h index 8dca04b..d07ea60 100644 --- a/net/socket/tcp_client_socket_pool.h +++ b/net/socket/tcp_client_socket_pool.h @@ -26,9 +26,11 @@ class ClientSocketFactory; class TCPSocketParams : public base::RefCounted<TCPSocketParams> { public: TCPSocketParams(const HostPortPair& host_port_pair, RequestPriority priority, - const GURL& referrer, bool disable_resolver_cache); + const GURL& referrer, bool disable_resolver_cache, + bool ignore_limits); const HostResolver::RequestInfo& destination() const { return destination_; } + bool ignore_limits() const { return ignore_limits_; } private: friend class base::RefCounted<TCPSocketParams>; @@ -38,6 +40,7 @@ class TCPSocketParams : public base::RefCounted<TCPSocketParams> { bool disable_resolver_cache); HostResolver::RequestInfo destination_; + bool ignore_limits_; DISALLOW_COPY_AND_ASSIGN(TCPSocketParams); }; diff --git a/net/socket/tcp_client_socket_pool_unittest.cc b/net/socket/tcp_client_socket_pool_unittest.cc index a8d496f..18314e3 100644 --- a/net/socket/tcp_client_socket_pool_unittest.cc +++ b/net/socket/tcp_client_socket_pool_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -290,9 +290,9 @@ class TCPClientSocketPoolTest : public testing::Test { protected: TCPClientSocketPoolTest() : params_(new TCPSocketParams(HostPortPair("www.google.com", 80), - kDefaultPriority, GURL(), false)), + kDefaultPriority, GURL(), false, false)), low_params_(new TCPSocketParams(HostPortPair("www.google.com", 80), - LOW, GURL(), false)), + LOW, GURL(), false, false)), histograms_(new ClientSocketPoolHistograms("TCPUnitTest")), host_resolver_(new MockHostResolver), pool_(kMaxSockets, @@ -305,7 +305,7 @@ class TCPClientSocketPoolTest : public testing::Test { int StartRequest(const std::string& group_name, RequestPriority priority) { scoped_refptr<TCPSocketParams> params(new TCPSocketParams( - HostPortPair("www.google.com", 80), MEDIUM, GURL(), false)); + HostPortPair("www.google.com", 80), MEDIUM, GURL(), false, false)); return test_base_.StartRequestUsingPool( &pool_, group_name, priority, params); } @@ -355,7 +355,7 @@ TEST_F(TCPClientSocketPoolTest, InitHostResolutionFailure) { ClientSocketHandle handle; HostPortPair host_port_pair("unresolvable.host.name", 80); scoped_refptr<TCPSocketParams> dest(new TCPSocketParams( - host_port_pair, kDefaultPriority, GURL(), false)); + host_port_pair, kDefaultPriority, GURL(), false, false)); EXPECT_EQ(ERR_IO_PENDING, handle.Init("a", dest, kDefaultPriority, &callback, &pool_, BoundNetLog())); @@ -614,7 +614,7 @@ class RequestSocketCallback : public CallbackRunner< Tuple1<int> > { } within_callback_ = true; scoped_refptr<TCPSocketParams> dest(new TCPSocketParams( - HostPortPair("www.google.com", 80), LOWEST, GURL(), false)); + HostPortPair("www.google.com", 80), LOWEST, GURL(), false, false)); int rv = handle_->Init("a", dest, LOWEST, this, pool_, BoundNetLog()); EXPECT_EQ(OK, rv); } @@ -635,7 +635,7 @@ TEST_F(TCPClientSocketPoolTest, RequestTwice) { ClientSocketHandle handle; RequestSocketCallback callback(&handle, &pool_); scoped_refptr<TCPSocketParams> dest(new TCPSocketParams( - HostPortPair("www.google.com", 80), LOWEST, GURL(), false)); + HostPortPair("www.google.com", 80), LOWEST, GURL(), false, false)); int rv = handle.Init("a", dest, LOWEST, &callback, &pool_, BoundNetLog()); ASSERT_EQ(ERR_IO_PENDING, rv); diff --git a/net/spdy/spdy_http_stream_unittest.cc b/net/spdy/spdy_http_stream_unittest.cc index 730c5cc..48360fe 100644 --- a/net/spdy/spdy_http_stream_unittest.cc +++ b/net/spdy/spdy_http_stream_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -31,7 +31,7 @@ class SpdyHttpStreamTest : public testing::Test { http_session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); session_ = http_session_->spdy_session_pool()->Get(pair, BoundNetLog()); tcp_params_ = new TCPSocketParams(host_port_pair, - MEDIUM, GURL(), false); + MEDIUM, GURL(), false, false); TestCompletionCallback callback; scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(ERR_IO_PENDING, diff --git a/net/spdy/spdy_proxy_client_socket_unittest.cc b/net/spdy/spdy_proxy_client_socket_unittest.cc index 9023ca9..33fc667 100644 --- a/net/spdy/spdy_proxy_client_socket_unittest.cc +++ b/net/spdy/spdy_proxy_client_socket_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -142,7 +142,8 @@ SpdyProxyClientSocketTest::SpdyProxyClientSocketTest() endpoint_host_port_pair_(kOriginHost, kOriginPort), proxy_(ProxyServer::SCHEME_HTTPS, proxy_host_port_), endpoint_host_port_proxy_pair_(endpoint_host_port_pair_, proxy_), - tcp_params_(new TCPSocketParams(proxy_host_port_, LOWEST, url_, false)) { + tcp_params_(new TCPSocketParams(proxy_host_port_, LOWEST, url_, false, + false)) { } void SpdyProxyClientSocketTest::TearDown() { diff --git a/net/spdy/spdy_session_unittest.cc b/net/spdy/spdy_session_unittest.cc index 473ec60..6a74a0d 100644 --- a/net/spdy/spdy_session_unittest.cc +++ b/net/spdy/spdy_session_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -92,7 +92,7 @@ TEST_F(SpdySessionTest, GoAway) { EXPECT_TRUE(spdy_session_pool->HasSession(pair)); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, connection->Init(test_host_port_pair.ToString(), tcp_params, MEDIUM, @@ -199,7 +199,7 @@ TEST_F(SpdySessionTest, OnSettings) { ASSERT_TRUE(spdy_session_pool->HasSession(pair)); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, connection->Init(test_host_port_pair.ToString(), tcp_params, MEDIUM, @@ -280,7 +280,7 @@ TEST_F(SpdySessionTest, CancelPendingCreateStream) { ASSERT_TRUE(spdy_session_pool->HasSession(pair)); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, connection->Init(test_host_port_pair.ToString(), tcp_params, MEDIUM, @@ -375,7 +375,7 @@ TEST_F(SpdySessionTest, SendSettingsOnNewSession) { EXPECT_TRUE(spdy_session_pool->HasSession(pair)); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false)); + new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, connection->Init(test_host_port_pair.ToString(), tcp_params, MEDIUM, @@ -443,6 +443,7 @@ TEST_F(SpdySessionTest, IPPooling) { new TCPSocketParams(test_host_port_pair, MEDIUM, GURL(), + false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, diff --git a/net/spdy/spdy_stream_unittest.cc b/net/spdy/spdy_stream_unittest.cc index 327d197..e7e8c86 100644 --- a/net/spdy/spdy_stream_unittest.cc +++ b/net/spdy/spdy_stream_unittest.cc @@ -198,7 +198,7 @@ TEST_F(SpdyStreamTest, SendDataAfterOpen) { HostPortPair host_port_pair("www.google.com", 80); scoped_refptr<TCPSocketParams> tcp_params( - new TCPSocketParams(host_port_pair, LOWEST, GURL(), false)); + new TCPSocketParams(host_port_pair, LOWEST, GURL(), false, false)); scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); EXPECT_EQ(OK, |