summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-19 04:17:02 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-19 04:17:02 +0000
commitec012fe21457adfbf472f82d3b51480b7ac23a1e (patch)
tree959a16f76e0f415c3d884d2976873e77d7d2bba5
parent9fbe1109c3f5ef00f340b84ecde9287ad56b60c6 (diff)
downloadchromium_src-ec012fe21457adfbf472f82d3b51480b7ac23a1e.zip
chromium_src-ec012fe21457adfbf472f82d3b51480b7ac23a1e.tar.gz
chromium_src-ec012fe21457adfbf472f82d3b51480b7ac23a1e.tar.bz2
Make MultiThreadedCertVerifier receive a CertVerifyProc, rather than creating one
Rather than creating an OS-specific CertVerifyProc, have it injected into the MultiThreadedCertVerifier directly. This allows callers to change the CertVerifyProc that is used. BUG=123666 Review URL: https://chromiumcodereview.appspot.com/10917309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157504 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--net/base/cert_verifier.cc3
-rw-r--r--net/base/multi_threaded_cert_verifier.cc9
-rw-r--r--net/base/multi_threaded_cert_verifier.h3
-rw-r--r--net/base/multi_threaded_cert_verifier_unittest.cc4
4 files changed, 7 insertions, 12 deletions
diff --git a/net/base/cert_verifier.cc b/net/base/cert_verifier.cc
index c86c97b..fd28f1d 100644
--- a/net/base/cert_verifier.cc
+++ b/net/base/cert_verifier.cc
@@ -4,12 +4,13 @@
#include "net/base/cert_verifier.h"
+#include "net/base/cert_verify_proc.h"
#include "net/base/multi_threaded_cert_verifier.h"
namespace net {
CertVerifier* CertVerifier::CreateDefault() {
- return new MultiThreadedCertVerifier();
+ return new MultiThreadedCertVerifier(CertVerifyProc::CreateDefault());
}
} // namespace net
diff --git a/net/base/multi_threaded_cert_verifier.cc b/net/base/multi_threaded_cert_verifier.cc
index 3e8cf13..63d320e 100644
--- a/net/base/multi_threaded_cert_verifier.cc
+++ b/net/base/multi_threaded_cert_verifier.cc
@@ -376,12 +376,13 @@ class CertVerifierJob {
const BoundNetLog net_log_;
};
-MultiThreadedCertVerifier::MultiThreadedCertVerifier()
+MultiThreadedCertVerifier::MultiThreadedCertVerifier(
+ CertVerifyProc* verify_proc)
: cache_(kMaxCacheEntries),
requests_(0),
cache_hits_(0),
inflight_joins_(0),
- verify_proc_(CertVerifyProc::CreateDefault()) {
+ verify_proc_(verify_proc) {
CertDatabase::GetInstance()->AddObserver(this);
}
@@ -510,8 +511,4 @@ void MultiThreadedCertVerifier::OnCertTrustChanged(
ClearCache();
}
-void MultiThreadedCertVerifier::SetCertVerifyProc(CertVerifyProc* verify_proc) {
- verify_proc_ = verify_proc;
-}
-
} // namespace net
diff --git a/net/base/multi_threaded_cert_verifier.h b/net/base/multi_threaded_cert_verifier.h
index e4c0653..b218370 100644
--- a/net/base/multi_threaded_cert_verifier.h
+++ b/net/base/multi_threaded_cert_verifier.h
@@ -34,7 +34,7 @@ class NET_EXPORT_PRIVATE MultiThreadedCertVerifier
NON_EXPORTED_BASE(public base::NonThreadSafe),
public CertDatabase::Observer {
public:
- MultiThreadedCertVerifier();
+ explicit MultiThreadedCertVerifier(CertVerifyProc* verify_proc);
// When the verifier is destroyed, all certificate verifications requests are
// canceled, and their completion callbacks will not be called.
@@ -143,7 +143,6 @@ class NET_EXPORT_PRIVATE MultiThreadedCertVerifier
uint64 cache_hits() const { return cache_hits_; }
uint64 requests() const { return requests_; }
uint64 inflight_joins() const { return inflight_joins_; }
- void SetCertVerifyProc(CertVerifyProc* verify_proc);
// cache_ maps from a request to a cached result.
CertVerifierCache cache_;
diff --git a/net/base/multi_threaded_cert_verifier_unittest.cc b/net/base/multi_threaded_cert_verifier_unittest.cc
index 7bf47a2..8946b66 100644
--- a/net/base/multi_threaded_cert_verifier_unittest.cc
+++ b/net/base/multi_threaded_cert_verifier_unittest.cc
@@ -49,9 +49,7 @@ class MockCertVerifyProc : public CertVerifyProc {
class MultiThreadedCertVerifierTest : public ::testing::Test {
public:
- MultiThreadedCertVerifierTest() {
- verifier_.SetCertVerifyProc(new MockCertVerifyProc());
- }
+ MultiThreadedCertVerifierTest() : verifier_(new MockCertVerifyProc()) {}
virtual ~MultiThreadedCertVerifierTest() {}
protected: