Allow browser tests to use a MockCertVerifier
Introduces a ProfileIOData::SetCertVerifierForTesting() hook, called by
the CertVerifierBrowserTest class. CertVerifierBrowserTest tests can use
mock_cert_verifier() to set mock cert verify results.
BUG=
Review URL: https://codereview.chromium.org/1227943002
Cr-Commit-Position: refs/heads/master@{#342038}
diff --git a/chrome/browser/ssl/cert_verifier_browser_test.h b/chrome/browser/ssl/cert_verifier_browser_test.h
new file mode 100644
index 0000000..d5d977cc
--- /dev/null
+++ b/chrome/browser/ssl/cert_verifier_browser_test.h
@@ -0,0 +1,37 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_
+#define CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_
+
+#include "base/memory/scoped_ptr.h"
+#include "chrome/test/base/in_process_browser_test.h"
+
+namespace net {
+class MockCertVerifier;
+} // namespace net
+
+// CertVerifierBrowserTest allows tests to force certificate
+// verification results for requests made with any profile's main
+// request context (such as navigations). To do so, tests can use the
+// MockCertVerifier exposed via
+// CertVerifierBrowserTest::mock_cert_verifier().
+class CertVerifierBrowserTest : public InProcessBrowserTest {
+ public:
+ CertVerifierBrowserTest();
+ ~CertVerifierBrowserTest() override;
+
+ // InProcessBrowserTest:
+ void SetUpInProcessBrowserTestFixture() override;
+ void TearDownInProcessBrowserTestFixture() override;
+
+ // Returns a pointer to the MockCertVerifier used by all profiles in
+ // this test.
+ net::MockCertVerifier* mock_cert_verifier();
+
+ private:
+ scoped_ptr<net::MockCertVerifier> mock_cert_verifier_;
+};
+
+#endif // CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_