Index: net/socket/ssl_host_info.cc |
diff --git a/net/socket/ssl_host_info.cc b/net/socket/ssl_host_info.cc |
index d792d43a6c169cb7efe1fb2da2f53bfd11415f14..83fab41da33013cafa5d7dfc86e77673c950b139 100644 |
--- a/net/socket/ssl_host_info.cc |
+++ b/net/socket/ssl_host_info.cc |
@@ -32,7 +32,6 @@ SSLHostInfo::SSLHostInfo( |
cert_verification_error_(ERR_CERT_INVALID), |
hostname_(hostname), |
cert_parsing_failed_(false), |
- cert_verification_callback_(NULL), |
rev_checking_enabled_(ssl_config.rev_checking_enabled), |
verify_ev_cert_(ssl_config.verify_ev_cert), |
verifier_(cert_verifier), |
@@ -136,7 +135,7 @@ bool SSLHostInfo::ParseInner(const std::string& data) { |
VerifyCallback(rv); |
} else { |
cert_parsing_failed_ = true; |
- DCHECK(!cert_verification_callback_); |
+ DCHECK(cert_verification_callback_.is_null()); |
} |
} |
@@ -181,11 +180,12 @@ const CertVerifyResult& SSLHostInfo::cert_verify_result() const { |
return cert_verify_result_; |
} |
-int SSLHostInfo::WaitForCertVerification(OldCompletionCallback* callback) { |
+int SSLHostInfo::WaitForCertVerification(const CompletionCallback& callback) { |
if (cert_verification_complete_) |
return cert_verification_error_; |
+ |
DCHECK(!cert_parsing_failed_); |
- DCHECK(!cert_verification_callback_); |
+ DCHECK(cert_verification_callback_.is_null()); |
DCHECK(!state_.certs.empty()); |
cert_verification_callback_ = callback; |
return ERR_IO_PENDING; |
@@ -206,10 +206,10 @@ void SSLHostInfo::VerifyCallback(int rv) { |
verification_end_time_ = now; |
cert_verification_complete_ = true; |
cert_verification_error_ = rv; |
- if (cert_verification_callback_) { |
- OldCompletionCallback* callback = cert_verification_callback_; |
- cert_verification_callback_ = NULL; |
- callback->Run(rv); |
+ if (!cert_verification_callback_.is_null()) { |
+ CompletionCallback callback = cert_verification_callback_; |
+ cert_verification_callback_.Reset(); |
+ callback.Run(rv); |
} |
} |