Index: net/socket/ssl_host_info.h |
diff --git a/net/socket/ssl_host_info.h b/net/socket/ssl_host_info.h |
index 8f1502bc6368e7714eb7b8970de9a860dbccd129..c384e2e7828b587d5fa19063336babdc25e32ac2 100644 |
--- a/net/socket/ssl_host_info.h |
+++ b/net/socket/ssl_host_info.h |
@@ -14,6 +14,7 @@ |
#include "net/base/cert_verifier.h" |
#include "net/base/cert_verify_result.h" |
#include "net/base/completion_callback.h" |
+#include "net/base/dnsrr_resolver.h" |
#include "net/socket/ssl_client_socket.h" |
namespace net { |
@@ -56,6 +57,9 @@ class SSLHostInfo { |
// callback. |
virtual void Persist() = 0; |
+ // StartDnsLookup triggers a DNS lookup for the host. |
+ void StartDnsLookup(DnsRRResolver* dnsrr_resolver); |
+ |
struct State { |
State(); |
~State(); |
@@ -119,6 +123,10 @@ class SSLHostInfo { |
// ParseInner is a helper function for Parse. |
bool ParseInner(const std::string& data); |
+ // DnsComplete is a callback function which is called when our DNS resolution |
+ // completes. |
+ void DnsComplete(int rv); |
+ |
// This is the hostname that we'll validate the certificates against. |
const std::string hostname_; |
bool cert_parsing_failed_; |
@@ -132,6 +140,12 @@ class SSLHostInfo { |
SingleRequestCertVerifier verifier_; |
scoped_refptr<X509Certificate> cert_; |
scoped_refptr<CancelableCompletionCallback<SSLHostInfo> > callback_; |
+ |
+ DnsRRResolver* dnsrr_resolver_; |
+ CompletionCallback* dns_callback_; |
+ DnsRRResolver::Handle dns_handle_; |
+ RRResponse dns_response_; |
+ base::TimeTicks dns_lookup_start_time_; |
}; |
class SSLHostInfoFactory { |