diff options
Diffstat (limited to 'net/socket/ssl_host_info.cc')
-rw-r--r-- | net/socket/ssl_host_info.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/socket/ssl_host_info.cc b/net/socket/ssl_host_info.cc index 2f03a1a..ae897b0 100644 --- a/net/socket/ssl_host_info.cc +++ b/net/socket/ssl_host_info.cc @@ -4,6 +4,7 @@ #include "net/socket/ssl_host_info.h" +#include "base/bind.h" #include "base/metrics/histogram.h" #include "base/pickle.h" #include "base/string_piece.h" @@ -35,9 +36,7 @@ SSLHostInfo::SSLHostInfo( rev_checking_enabled_(ssl_config.rev_checking_enabled), verify_ev_cert_(ssl_config.verify_ev_cert), verifier_(cert_verifier), - callback_(new CancelableOldCompletionCallback<SSLHostInfo>( - ALLOW_THIS_IN_INITIALIZER_LIST(this), - &SSLHostInfo::VerifyCallback)), + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), dnsrr_resolver_(NULL), dns_callback_(NULL), dns_handle_(DnsRRResolver::kInvalidHandle) { @@ -128,8 +127,9 @@ bool SSLHostInfo::ParseInner(const std::string& data) { VLOG(1) << "Kicking off verification for " << hostname_; verification_start_time_ = base::TimeTicks::Now(); verification_end_time_ = base::TimeTicks(); - int rv = verifier_.Verify(cert_.get(), hostname_, flags, - &cert_verify_result_, callback_); + int rv = verifier_.Verify( + cert_.get(), hostname_, flags, &cert_verify_result_, + base::Bind(&SSLHostInfo::VerifyCallback, weak_factory_.GetWeakPtr())); if (rv != ERR_IO_PENDING) VerifyCallback(rv); } else { |