diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 22:09:43 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 22:09:43 +0000 |
commit | c54a891830503a20f4264f52c4959619e4e33cf2 (patch) | |
tree | 24be2a9fdca4f94da890ddb33f0dfa131ff04a0c /net/url_request | |
parent | 4ed2a60f39eaa2060a454ee99f72b5f84e1fbe5d (diff) | |
download | chromium_src-c54a891830503a20f4264f52c4959619e4e33cf2.zip chromium_src-c54a891830503a20f4264f52c4959619e4e33cf2.tar.gz chromium_src-c54a891830503a20f4264f52c4959619e4e33cf2.tar.bz2 |
[net] Change factory methods for HostResolver and HostCache to return a scoped_ptr.
Move HostResolver factory methods to host_resolver.cc.
This also fixes a double-free in ShellURLRequestContextGetter.
Review URL: https://chromiumcodereview.appspot.com/10831277
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163402 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_context_builder.cc | 19 | ||||
-rw-r--r-- | net/url_request/url_request_context_builder.h | 19 | ||||
-rw-r--r-- | net/url_request/url_request_context_storage.cc | 7 | ||||
-rw-r--r-- | net/url_request/url_request_context_storage.h | 4 | ||||
-rw-r--r-- | net/url_request/url_request_test_util.cc | 3 |
5 files changed, 14 insertions, 38 deletions
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc index 8c0eea3..6e0cc2e 100644 --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc @@ -171,11 +171,6 @@ class BasicURLRequestContext : public URLRequestContext { } // namespace -URLRequestContextBuilder::HostResolverParams::HostResolverParams() - : parallelism(HostResolver::kDefaultParallelism), - retry_attempts(HostResolver::kDefaultRetryAttempts) {} -URLRequestContextBuilder::HostResolverParams::~HostResolverParams() {} - URLRequestContextBuilder::HttpCacheParams::HttpCacheParams() : type(IN_MEMORY), max_size(0) {} @@ -213,14 +208,11 @@ URLRequestContext* URLRequestContextBuilder::Build() { BasicNetworkDelegate* network_delegate = new BasicNetworkDelegate; storage->set_network_delegate(network_delegate); - net::HostResolver* host_resolver = net::CreateSystemHostResolver( - host_resolver_params_.parallelism, - host_resolver_params_.retry_attempts, - NULL /* no NetLog */); - storage->set_host_resolver(host_resolver); + storage->set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL)); if (ftp_enabled_) { - storage->set_ftp_transaction_factory(new FtpNetworkLayer(host_resolver)); + storage->set_ftp_transaction_factory( + new FtpNetworkLayer(context->host_resolver())); } context->StartFileThread(); @@ -242,14 +234,15 @@ URLRequestContext* URLRequestContextBuilder::Build() { context->net_log())); storage->set_ssl_config_service(new net::SSLConfigServiceDefaults); storage->set_http_auth_handler_factory( - net::HttpAuthHandlerRegistryFactory::CreateDefault(host_resolver)); + net::HttpAuthHandlerRegistryFactory::CreateDefault( + context->host_resolver())); storage->set_cookie_store(new CookieMonster(NULL, NULL)); storage->set_transport_security_state(new net::TransportSecurityState()); storage->set_http_server_properties(new net::HttpServerPropertiesImpl); storage->set_cert_verifier(CertVerifier::CreateDefault()); net::HttpNetworkSession::Params network_session_params; - network_session_params.host_resolver = host_resolver; + network_session_params.host_resolver = context->host_resolver(); network_session_params.cert_verifier = context->cert_verifier(); network_session_params.transport_security_state = context->transport_security_state(); diff --git a/net/url_request/url_request_context_builder.h b/net/url_request/url_request_context_builder.h index ddbca53..34a9bf8 100644 --- a/net/url_request/url_request_context_builder.h +++ b/net/url_request/url_request_context_builder.h @@ -31,18 +31,6 @@ class URLRequestContext; class NET_EXPORT URLRequestContextBuilder { public: - struct NET_EXPORT HostResolverParams { - HostResolverParams(); - ~HostResolverParams(); - - // The limit on the number of parallel host resolutions. - size_t parallelism; - - // When the host resolution is taking too long, we'll retry this many times, - // in a backing off manner. - size_t retry_attempts; - }; - struct NET_EXPORT HttpCacheParams { enum Type { IN_MEMORY, @@ -89,12 +77,6 @@ class NET_EXPORT URLRequestContextBuilder { user_agent_ = user_agent; } - // Allows for overriding the default HostResolver params. - void set_host_resolver_params( - const HostResolverParams& host_resolver_params) { - host_resolver_params_ = host_resolver_params; - } - // By default it's disabled. void set_ftp_enabled(bool enable) { ftp_enabled_ = enable; @@ -115,7 +97,6 @@ class NET_EXPORT URLRequestContextBuilder { private: std::string user_agent_; bool ftp_enabled_; - HostResolverParams host_resolver_params_; bool http_cache_enabled_; HttpCacheParams http_cache_params_; HttpNetworkSessionParams http_network_session_params_; diff --git a/net/url_request/url_request_context_storage.cc b/net/url_request/url_request_context_storage.cc index 2a75db2..12ea031 100644 --- a/net/url_request/url_request_context_storage.cc +++ b/net/url_request/url_request_context_storage.cc @@ -35,9 +35,10 @@ void URLRequestContextStorage::set_net_log(NetLog* net_log) { net_log_.reset(net_log); } -void URLRequestContextStorage::set_host_resolver(HostResolver* host_resolver) { - context_->set_host_resolver(host_resolver); - host_resolver_.reset(host_resolver); +void URLRequestContextStorage::set_host_resolver( + scoped_ptr<HostResolver> host_resolver) { + context_->set_host_resolver(host_resolver.get()); + host_resolver_ = host_resolver.Pass(); } void URLRequestContextStorage::set_cert_verifier(CertVerifier* cert_verifier) { diff --git a/net/url_request/url_request_context_storage.h b/net/url_request/url_request_context_storage.h index f792d8e..bc040b2 100644 --- a/net/url_request/url_request_context_storage.h +++ b/net/url_request/url_request_context_storage.h @@ -41,10 +41,10 @@ class NET_EXPORT URLRequestContextStorage { ~URLRequestContextStorage(); // These setters will set both the member variables and call the setter on the - // URLRequestContext object. + // URLRequestContext object. In all cases, ownership is passed to |this|. void set_net_log(NetLog* net_log); - void set_host_resolver(HostResolver* host_resolver); + void set_host_resolver(scoped_ptr<HostResolver> host_resolver); void set_cert_verifier(CertVerifier* cert_verifier); void set_server_bound_cert_service( ServerBoundCertService* server_bound_cert_service); diff --git a/net/url_request/url_request_test_util.cc b/net/url_request/url_request_test_util.cc index 5bf0883..33ea742 100644 --- a/net/url_request/url_request_test_util.cc +++ b/net/url_request/url_request_test_util.cc @@ -61,7 +61,8 @@ void TestURLRequestContext::Init() { initialized_ = true; if (!host_resolver()) - context_storage_.set_host_resolver(new net::MockCachingHostResolver()); + context_storage_.set_host_resolver( + scoped_ptr<net::HostResolver>(new net::MockCachingHostResolver())); if (!proxy_service()) context_storage_.set_proxy_service(net::ProxyService::CreateDirect()); if (!cert_verifier()) |