Chromium Code Reviews| Index: ios/web/net/cert_verifier_block_adapter.cc |
| diff --git a/ios/web/net/cert_verifier_block_adapter.cc b/ios/web/net/cert_verifier_block_adapter.cc |
| index b56b414351dc19d806f198c60b9c004866c99831..baba2cccdc122abc99c7b9180d83b4a19673ebff 100644 |
| --- a/ios/web/net/cert_verifier_block_adapter.cc |
| +++ b/ios/web/net/cert_verifier_block_adapter.cc |
| @@ -26,8 +26,8 @@ struct VerificationContext |
| net_log(net::BoundNetLog::Make( |
| net_log, |
| net::NetLog::SOURCE_IOS_WEB_VIEW_CERT_VERIFIER)) {} |
| - // Unowned verification request. |
| - net::CertVerifier::Request* request; |
| + // Verification request must be alive until verification is completed. |
|
Ryan Sleevi
2015/10/28 18:32:27
I find this comment a bit confusing. You're making
Eugene But (OOO till 7-30)
2015/10/29 15:43:38
Done.
|
| + scoped_ptr<net::CertVerifier::Request> request; |
| // The result of certificate verification. |
| net::CertVerifyResult result; |
| // Certificate being verified. |
| @@ -74,12 +74,6 @@ void CertVerifierBlockAdapter::Verify( |
| scoped_refptr<VerificationContext> context( |
| new VerificationContext(params.cert, net_log_)); |
| net::CompletionCallback callback = base::BindBlock(^(int error) { |
| - // Remove pending request. |
| - auto request_iterator = std::find( |
| - pending_requests_.begin(), pending_requests_.end(), context->request); |
| - DCHECK(pending_requests_.end() != request_iterator); |
| - pending_requests_.erase(request_iterator); |
| - |
| completion_handler(context->result, error); |
| }); |
| scoped_ptr<net::CertVerifier::Request> request; |
| @@ -88,10 +82,11 @@ void CertVerifierBlockAdapter::Verify( |
| params.crl_set.get(), &(context->result), |
| callback, &request, context->net_log); |
| if (error == net::ERR_IO_PENDING) { |
| - // Make sure that |net::CertVerifier::Request| is alive until either |
| - // verification is completed or CertVerifierBlockAdapter is destroyed. |
| - pending_requests_.push_back(request.Pass()); |
| - context->request = pending_requests_.back(); |
| + // Make sure that |net::CertVerifier::Request| is alive until verification |
| + // is completed. It means that cert verification request will not be |
| + // cancellable but it will guarantee that |completion_handler| callback is |
| + // always called by this method, which is a part of API contract. |
|
Ryan Sleevi
2015/10/28 18:32:27
This still reads a bit... weird.
// Keep the |net
Eugene But (OOO till 7-30)
2015/10/29 15:43:38
Done.
|
| + context->request = request.Pass(); |
| // Completion handler will be called from |callback| when verification |
| // request is completed. |
| return; |