summaryrefslogtreecommitdiffstats
path: root/net/socket/ssl_host_info.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/ssl_host_info.cc')
-rw-r--r--net/socket/ssl_host_info.cc10
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 {