Chromium Code Reviews| Index: net/quic/crypto/proof_verifier_chromium.cc |
| diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc |
| index 096374a747255b451000cf3afccf034083a13368..e59f291253a090d81286504a751f8f2fb9540c9b 100644 |
| --- a/net/quic/crypto/proof_verifier_chromium.cc |
| +++ b/net/quic/crypto/proof_verifier_chromium.cc |
| @@ -76,7 +76,7 @@ class ProofVerifierChromium::Job { |
| const std::string& signature, |
| std::string* error_details, |
| std::unique_ptr<ProofVerifyDetails>* verify_details, |
| - ProofVerifierCallback* callback); |
| + std::unique_ptr<ProofVerifierCallback> callback); |
| private: |
| enum State { |
| @@ -180,10 +180,9 @@ QuicAsyncStatus ProofVerifierChromium::Job::VerifyProof( |
| const string& signature, |
| std::string* error_details, |
| std::unique_ptr<ProofVerifyDetails>* verify_details, |
| - ProofVerifierCallback* callback) { |
| + std::unique_ptr<ProofVerifierCallback> callback) { |
| DCHECK(error_details); |
| DCHECK(verify_details); |
| - DCHECK(callback); |
|
rjshade
2016/07/06 20:09:34
Not sure about this removal, but the following tes
Ryan Hamilton
2016/07/07 00:10:35
Hm. That sounds dodgy. DO you have a failure log?
|
| error_details->clear(); |
| @@ -246,7 +245,7 @@ QuicAsyncStatus ProofVerifierChromium::Job::VerifyProof( |
| *verify_details = std::move(verify_details_); |
| return QUIC_SUCCESS; |
| case ERR_IO_PENDING: |
| - callback_.reset(callback); |
| + callback_ = std::move(callback); |
| return QUIC_PENDING; |
| default: |
| *error_details = error_details_; |
| @@ -491,7 +490,7 @@ QuicAsyncStatus ProofVerifierChromium::VerifyProof( |
| const ProofVerifyContext* verify_context, |
| std::string* error_details, |
| std::unique_ptr<ProofVerifyDetails>* verify_details, |
| - ProofVerifierCallback* callback) { |
| + std::unique_ptr<ProofVerifierCallback> callback) { |
| if (!verify_context) { |
| *error_details = "Missing context"; |
| return QUIC_FAILURE; |
| @@ -504,7 +503,7 @@ QuicAsyncStatus ProofVerifierChromium::VerifyProof( |
| chromium_context->cert_verify_flags, chromium_context->net_log)); |
| QuicAsyncStatus status = job->VerifyProof( |
| hostname, port, server_config, quic_version, chlo_hash, certs, cert_sct, |
| - signature, error_details, verify_details, callback); |
| + signature, error_details, verify_details, std::move(callback)); |
| if (status == QUIC_PENDING) { |
| active_jobs_.insert(job.release()); |
| } |