summaryrefslogtreecommitdiffstats
path: root/net/url_request
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 22:09:43 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 22:09:43 +0000
commitc54a891830503a20f4264f52c4959619e4e33cf2 (patch)
tree24be2a9fdca4f94da890ddb33f0dfa131ff04a0c /net/url_request
parent4ed2a60f39eaa2060a454ee99f72b5f84e1fbe5d (diff)
downloadchromium_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.cc19
-rw-r--r--net/url_request/url_request_context_builder.h19
-rw-r--r--net/url_request/url_request_context_storage.cc7
-rw-r--r--net/url_request/url_request_context_storage.h4
-rw-r--r--net/url_request/url_request_test_util.cc3
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())