diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 15:44:44 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 15:44:44 +0000 |
commit | 3e35b224fd0c36f17f432f23e2eb3729667210b1 (patch) | |
tree | 9fc1ee327a5b872858aefe4bea60ded90080054e /net/url_request | |
parent | be796bb642e82b4702fb84cfb451a09a37890c58 (diff) | |
download | chromium_src-3e35b224fd0c36f17f432f23e2eb3729667210b1.zip chromium_src-3e35b224fd0c36f17f432f23e2eb3729667210b1.tar.gz chromium_src-3e35b224fd0c36f17f432f23e2eb3729667210b1.tar.bz2 |
net: Plumb DnsCertProvenanceChecker around.
DnsCertProvenanceChecker is introduced to abstract away the action of
uploading reports. It's implemented by ChromeDnsCertProvenanceChecker
which lives in a scoped_ptr off of a URLRequestContext.
It's only active on the main context (i.e. not in incognito mode). This
might change in the future, but it's a nice, conservative choice for the
moment.
The DnsCertProvenanceChecker is plumbed all the way to SSLClientSocket
(via HttpCache) where it replaces the DnsRRResolver. Above
SSLClientSocket, it's plumbed in addition to the DnsRRResolver because
the later will end up going into SSLHostInfo in the future.
At the moment, ChromeDnsCertProvenanceCheckerContext is just a skeleton
to avoid putting too much real code in a plumbing job.
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66623 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_context.cc | 1 | ||||
-rw-r--r-- | net/url_request/url_request_context.h | 7 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.h | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/net/url_request/url_request_context.cc b/net/url_request/url_request_context.cc index 137901d..281aa7e 100644 --- a/net/url_request/url_request_context.cc +++ b/net/url_request/url_request_context.cc @@ -12,6 +12,7 @@ URLRequestContext::URLRequestContext() : net_log_(NULL), host_resolver_(NULL), dnsrr_resolver_(NULL), + dns_cert_checker_(NULL), http_transaction_factory_(NULL), ftp_transaction_factory_(NULL), http_auth_handler_factory_(NULL), diff --git a/net/url_request/url_request_context.h b/net/url_request/url_request_context.h index bbbae67..f935f5f 100644 --- a/net/url_request/url_request_context.h +++ b/net/url_request/url_request_context.h @@ -18,10 +18,12 @@ #include "net/base/transport_security_state.h" #include "net/ftp/ftp_auth_cache.h" #include "net/proxy/proxy_service.h" +#include "net/socket/dns_cert_provenance_checker.h" namespace net { class CookiePolicy; class CookieStore; +class DnsCertProvenanceChecker; class DnsRRResolver; class FtpTransactionFactory; class HostResolver; @@ -51,6 +53,10 @@ class URLRequestContext return dnsrr_resolver_; } + net::DnsCertProvenanceChecker* dns_cert_checker() const { + return dns_cert_checker_.get(); + } + // Get the proxy service for this context. net::ProxyService* proxy_service() const { return proxy_service_; @@ -124,6 +130,7 @@ class URLRequestContext net::NetLog* net_log_; net::HostResolver* host_resolver_; net::DnsRRResolver* dnsrr_resolver_; + scoped_ptr<net::DnsCertProvenanceChecker> dns_cert_checker_; scoped_refptr<net::ProxyService> proxy_service_; scoped_refptr<net::SSLConfigService> ssl_config_service_; net::HttpTransactionFactory* http_transaction_factory_; diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h index abb6ab5..378b133 100644 --- a/net/url_request/url_request_unittest.h +++ b/net/url_request/url_request_unittest.h @@ -162,6 +162,7 @@ class TestURLRequestContext : public URLRequestContext { http_transaction_factory_ = new net::HttpCache( net::HttpNetworkLayer::CreateFactory(host_resolver_, NULL /* dnsrr_resolver */, + NULL /* dns_cert_checker */, NULL /* ssl_host_info_factory */, proxy_service_, ssl_config_service_, |