diff options
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_context.h | 9 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.cc | 7 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.h | 10 |
3 files changed, 21 insertions, 5 deletions
diff --git a/net/url_request/url_request_context.h b/net/url_request/url_request_context.h index 8e32c97..2c9f6fa 100644 --- a/net/url_request/url_request_context.h +++ b/net/url_request/url_request_context.h @@ -19,6 +19,7 @@ namespace net { class CookieMonster; class ForceTLSState; class FtpTransactionFactory; +class HostResolver; class HttpTransactionFactory; class ProxyService; } @@ -28,13 +29,18 @@ class URLRequestContext : public base::RefCountedThreadSafe<URLRequestContext> { public: URLRequestContext() - : proxy_service_(NULL), + : host_resolver_(NULL), + proxy_service_(NULL), http_transaction_factory_(NULL), ftp_transaction_factory_(NULL), cookie_store_(NULL), force_tls_state_(NULL) { } + net::HostResolver* host_resolver() const { + return host_resolver_; + } + // Get the proxy service for this context. net::ProxyService* proxy_service() const { return proxy_service_; @@ -88,6 +94,7 @@ class URLRequestContext : // The following members are expected to be initialized and owned by // subclasses. + net::HostResolver* host_resolver_; net::ProxyService* proxy_service_; net::HttpTransactionFactory* http_transaction_factory_; net::FtpTransactionFactory* ftp_transaction_factory_; diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc index 6551df1..18ff111 100644 --- a/net/url_request/url_request_unittest.cc +++ b/net/url_request/url_request_unittest.cc @@ -45,10 +45,12 @@ namespace { class URLRequestHttpCacheContext : public URLRequestContext { public: URLRequestHttpCacheContext() { + host_resolver_ = new net::HostResolver; proxy_service_ = net::ProxyService::CreateNull(); http_transaction_factory_ = - new net::HttpCache(net::HttpNetworkLayer::CreateFactory(proxy_service_), - disk_cache::CreateInMemoryCacheBackend(0)); + new net::HttpCache( + net::HttpNetworkLayer::CreateFactory(host_resolver_, proxy_service_), + disk_cache::CreateInMemoryCacheBackend(0)); // In-memory cookie store. cookie_store_ = new net::CookieMonster(); } @@ -57,6 +59,7 @@ class URLRequestHttpCacheContext : public URLRequestContext { delete cookie_store_; delete http_transaction_factory_; delete proxy_service_; + delete host_resolver_; } }; diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h index d4e2b82..1c880fd 100644 --- a/net/url_request/url_request_unittest.h +++ b/net/url_request/url_request_unittest.h @@ -21,6 +21,7 @@ #include "base/thread.h" #include "base/time.h" #include "base/waitable_event.h" +#include "net/base/host_resolver.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/base/ssl_test_util.h" @@ -42,22 +43,27 @@ using base::TimeDelta; class TestURLRequestContext : public URLRequestContext { public: TestURLRequestContext() { + host_resolver_ = new net::HostResolver; proxy_service_ = net::ProxyService::CreateNull(); http_transaction_factory_ = - net::HttpNetworkLayer::CreateFactory(proxy_service_); + net::HttpNetworkLayer::CreateFactory(host_resolver_, + proxy_service_); } explicit TestURLRequestContext(const std::string& proxy) { + host_resolver_ = new net::HostResolver; net::ProxyConfig proxy_config; proxy_config.proxy_rules.ParseFromString(proxy); proxy_service_ = net::ProxyService::CreateFixed(proxy_config); http_transaction_factory_ = - net::HttpNetworkLayer::CreateFactory(proxy_service_); + net::HttpNetworkLayer::CreateFactory(host_resolver_, + proxy_service_); } virtual ~TestURLRequestContext() { delete http_transaction_factory_; delete proxy_service_; + delete host_resolver_; } }; |