Remove ChromeMockCertVerifier which isn't needed anymore.

Bug: 934009
Change-Id: I3eacbdcc9b2467c486dff79e190db72a5184db8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648285
Auto-Submit: John Abd-El-Malek <[email protected]>
Reviewed-by: Robbie McElrath <[email protected]>
Commit-Queue: John Abd-El-Malek <[email protected]>
Cr-Commit-Position: refs/heads/master@{#666837}
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index b6445d8..febeacf 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1539,8 +1539,6 @@
     "../browser/android/ssl/mock_cert_verifier_rule_android.h",
     "../browser/offline_pages/android/offline_test_util_jni.cc",
     "../browser/offline_pages/android/prefetch_test_bridge.cc",
-    "../browser/ssl/chrome_mock_cert_verifier.cc",
-    "../browser/ssl/chrome_mock_cert_verifier.h",
   ]
   deps = [
     ":test_support_jni_headers",
diff --git a/chrome/browser/android/ssl/mock_cert_verifier_rule_android.h b/chrome/browser/android/ssl/mock_cert_verifier_rule_android.h
index 7b2e925..5b286e1b 100644
--- a/chrome/browser/android/ssl/mock_cert_verifier_rule_android.h
+++ b/chrome/browser/android/ssl/mock_cert_verifier_rule_android.h
@@ -7,7 +7,7 @@
 
 #include "base/android/jni_android.h"
 #include "base/macros.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 
 // Enables tests to force certificate verification results.
 class MockCertVerifierRuleAndroid {
@@ -19,7 +19,7 @@
   void TearDown(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
 
  private:
-  ChromeMockCertVerifier mock_cert_verifier_;
+  content::ContentMockCertVerifier mock_cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(MockCertVerifierRuleAndroid);
 };
diff --git a/chrome/browser/autofill/autofill_interactive_uitest.cc b/chrome/browser/autofill/autofill_interactive_uitest.cc
index 58833890..3a7885a 100644
--- a/chrome/browser/autofill/autofill_interactive_uitest.cc
+++ b/chrome/browser/autofill/autofill_interactive_uitest.cc
@@ -32,7 +32,6 @@
 #include "chrome/browser/metrics/subprocess_metrics_provider.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_io_data.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/browser/translate/chrome_translate_client.h"
 #include "chrome/browser/translate/translate_service.h"
 #include "chrome/browser/ui/autofill/chrome_autofill_client.h"
@@ -67,6 +66,7 @@
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/content_switches.h"
 #include "content/public/test/browser_test_utils.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "content/public/test/test_renderer_host.h"
 #include "content/public/test/test_utils.h"
 #include "net/base/net_errors.h"
@@ -682,9 +682,8 @@
   net::EmbeddedTestServer https_server_;
 
   // Similar to net::MockCertVerifier, but also updates the CertVerifier
-  // used by the NetworkService. This is needed for when tests run with
-  // the NetworkService enabled.
-  ChromeMockCertVerifier cert_verifier_;
+  // used by the NetworkService.
+  content::ContentMockCertVerifier cert_verifier_;
 
   net::TestURLFetcherFactory url_fetcher_factory_;
 
diff --git a/chrome/browser/extensions/bookmark_app_navigation_browsertest.h b/chrome/browser/extensions/bookmark_app_navigation_browsertest.h
index 7ba8ba8..e3cfe20 100644
--- a/chrome/browser/extensions/bookmark_app_navigation_browsertest.h
+++ b/chrome/browser/extensions/bookmark_app_navigation_browsertest.h
@@ -12,7 +12,7 @@
 #include "base/files/file_path.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "extensions/common/extension.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "url/gurl.h"
@@ -204,9 +204,8 @@
   net::EmbeddedTestServer https_server_;
   net::MockCertVerifier mock_cert_verifier_;
   // Similar to net::MockCertVerifier, but also updates the CertVerifier
-  // used by the NetworkService. This is needed for when tests run with
-  // the NetworkService enabled.
-  ChromeMockCertVerifier cert_verifier_;
+  // used by the NetworkService.
+  content::ContentMockCertVerifier cert_verifier_;
   const Extension* test_bookmark_app_;
   base::HistogramTester histogram_tester_;
 };
diff --git a/chrome/browser/password_manager/password_manager_test_base.cc b/chrome/browser/password_manager/password_manager_test_base.cc
index f0a46cd..b2382817 100644
--- a/chrome/browser/password_manager/password_manager_test_base.cc
+++ b/chrome/browser/password_manager/password_manager_test_base.cc
@@ -19,7 +19,6 @@
 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
 #include "chrome/browser/password_manager/password_store_factory.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/profiles/profile_io_data.h"
 #include "chrome/browser/ui/autofill/chrome_autofill_client.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
@@ -450,10 +449,6 @@
   ASSERT_TRUE(embedded_test_server()->ShutdownAndWaitUntilComplete());
 }
 
-void PasswordManagerBrowserTestBase::TearDownInProcessBrowserTestFixture() {
-  ProfileIOData::SetCertVerifierForTesting(nullptr);
-}
-
 void PasswordManagerBrowserTestBase::SetUpOnMainThreadAndGetNewTab(
     Browser* browser,
     content::WebContents** web_contents) {
diff --git a/chrome/browser/password_manager/password_manager_test_base.h b/chrome/browser/password_manager/password_manager_test_base.h
index d222738..bd93984 100644
--- a/chrome/browser/password_manager/password_manager_test_base.h
+++ b/chrome/browser/password_manager/password_manager_test_base.h
@@ -158,7 +158,6 @@
   // InProcessBrowserTest:
   void SetUpOnMainThread() override;
   void TearDownOnMainThread() override;
-  void TearDownInProcessBrowserTestFixture() override;
 
   // Bring up a new Chrome tab set up with password manager test hooks.
   // @param[in] browser the browser running the password manager test, upon
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 199d93ca..0f31efb 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -165,35 +165,6 @@
 
 namespace {
 
-net::CertVerifier* g_cert_verifier_for_profile_io_data_testing = nullptr;
-
-// A CertVerifier that forwards all requests to
-// |g_cert_verifier_for_profile_io_data_testing|. This is used to allow Profiles
-// to have their own std::unique_ptr<net::CertVerifier> while forwarding calls
-// to the shared verifier.
-class WrappedCertVerifierForProfileIODataTesting : public net::CertVerifier {
- public:
-  ~WrappedCertVerifierForProfileIODataTesting() override = default;
-
-  // CertVerifier implementation
-  int Verify(const RequestParams& params,
-             net::CertVerifyResult* verify_result,
-             net::CompletionOnceCallback callback,
-             std::unique_ptr<Request>* out_req,
-             const net::NetLogWithSource& net_log) override {
-    verify_result->Reset();
-    if (!g_cert_verifier_for_profile_io_data_testing)
-      return net::ERR_FAILED;
-    return g_cert_verifier_for_profile_io_data_testing->Verify(
-        params, verify_result, std::move(callback), out_req, net_log);
-  }
-  void SetConfig(const Config& config) override {
-    if (!g_cert_verifier_for_profile_io_data_testing)
-      return;
-    return g_cert_verifier_for_profile_io_data_testing->SetConfig(config);
-  }
-};
-
 #if defined(OS_CHROMEOS)
 // The following four functions are responsible for initializing NSS for each
 // profile on ChromeOS, which has a separate NSS database and TPM slot
@@ -444,14 +415,6 @@
 
   network_prediction_options_.MoveToThread(io_task_runner);
 
-#if defined(OS_CHROMEOS)
-  if (!g_cert_verifier_for_profile_io_data_testing &&
-      !base::FeatureList::IsEnabled(network::features::kNetworkService)) {
-    profile_params_->policy_cert_verifier =
-        policy::PolicyCertServiceFactory::CreateForProfile(profile);
-  }
-#endif
-
   incognito_availibility_pref_.Init(prefs::kIncognitoModeAvailability,
                                     pref_service);
   incognito_availibility_pref_.MoveToThread(io_task_runner);
@@ -543,12 +506,6 @@
   return IsHandledProtocol(url.scheme());
 }
 
-// static
-void ProfileIOData::SetCertVerifierForTesting(
-    net::CertVerifier* cert_verifier) {
-  g_cert_verifier_for_profile_io_data_testing = cert_verifier;
-}
-
 content::ResourceContext* ProfileIOData::GetResourceContext() const {
   return resource_context_.get();
 }
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h
index 1e98dd96..ada0638 100644
--- a/chrome/browser/profiles/profile_io_data.h
+++ b/chrome/browser/profiles/profile_io_data.h
@@ -58,16 +58,11 @@
 }
 
 namespace net {
-class CertVerifier;
 class ClientCertStore;
 class CookieStore;
 class HttpTransactionFactory;
 }  // namespace net
 
-namespace network {
-class CertVerifierWithTrustAnchors;
-}  // namespace network
-
 // Conceptually speaking, the ProfileIOData represents data that lives on the IO
 // thread that is owned by a Profile, such as, but not limited to, network
 // objects like CookieMonster, HttpTransactionFactory, etc.  Profile owns
@@ -87,9 +82,6 @@
   // net::URLRequest.
   static bool IsHandledURL(const GURL& url);
 
-  // Sets a global CertVerifier to use when initializing all profiles.
-  static void SetCertVerifierForTesting(net::CertVerifier* cert_verifier);
-
   // Called by Profile.
   content::ResourceContext* GetResourceContext() const;
 
@@ -247,7 +239,6 @@
     std::unique_ptr<net::URLRequestInterceptor> new_tab_page_interceptor;
 
 #if defined(OS_CHROMEOS)
-    std::unique_ptr<network::CertVerifierWithTrustAnchors> policy_cert_verifier;
     std::string username_hash;
     SystemKeySlotUseType system_key_slot_use_type = SystemKeySlotUseType::kNone;
     std::unique_ptr<chromeos::CertificateProvider> certificate_provider;
diff --git a/chrome/browser/ssl/cert_verifier_browser_test.h b/chrome/browser/ssl/cert_verifier_browser_test.h
index 95c1eb4..9dd89bc 100644
--- a/chrome/browser/ssl/cert_verifier_browser_test.h
+++ b/chrome/browser/ssl/cert_verifier_browser_test.h
@@ -5,8 +5,8 @@
 #ifndef CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_
 #define CHROME_BROWSER_SSL_CERT_VERIFIER_BROWSER_TEST_H_
 
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/test/base/in_process_browser_test.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 
 // CertVerifierBrowserTest allows tests to force certificate
 // verification results for requests made with any profile's main
@@ -28,7 +28,7 @@
   }
 
  private:
-  ChromeMockCertVerifier mock_cert_verifier_;
+  content::ContentMockCertVerifier mock_cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(CertVerifierBrowserTest);
 };
diff --git a/chrome/browser/ssl/chrome_mock_cert_verifier.cc b/chrome/browser/ssl/chrome_mock_cert_verifier.cc
deleted file mode 100644
index 9dc24e3..0000000
--- a/chrome/browser/ssl/chrome_mock_cert_verifier.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2018 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.
-
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
-
-#include "chrome/browser/profiles/profile_io_data.h"
-
-ChromeMockCertVerifier::ChromeMockCertVerifier() = default;
-
-ChromeMockCertVerifier::~ChromeMockCertVerifier() = default;
-
-void ChromeMockCertVerifier::SetUpInProcessBrowserTestFixture() {
-  ContentMockCertVerifier::SetUpInProcessBrowserTestFixture();
-  ProfileIOData::SetCertVerifierForTesting(mock_cert_verifier_internal());
-}
-
-void ChromeMockCertVerifier::TearDownInProcessBrowserTestFixture() {
-  ContentMockCertVerifier::TearDownInProcessBrowserTestFixture();
-  ProfileIOData::SetCertVerifierForTesting(nullptr);
-}
diff --git a/chrome/browser/ssl/chrome_mock_cert_verifier.h b/chrome/browser/ssl/chrome_mock_cert_verifier.h
deleted file mode 100644
index 3ec5dff..0000000
--- a/chrome/browser/ssl/chrome_mock_cert_verifier.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018 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_CHROME_MOCK_CERT_VERIFIER_H_
-#define CHROME_BROWSER_SSL_CHROME_MOCK_CERT_VERIFIER_H_
-
-#include "content/public/test/content_mock_cert_verifier.h"
-
-// Helper class for use by tests that already derive from
-// InProcessBrowserTest so can't use CertVerifierBrowserTest.
-class ChromeMockCertVerifier : public content::ContentMockCertVerifier {
- public:
-  ChromeMockCertVerifier();
-  ~ChromeMockCertVerifier() override;
-  void SetUpInProcessBrowserTestFixture() override;
-  void TearDownInProcessBrowserTestFixture() override;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ChromeMockCertVerifier);
-};
-
-#endif  // CHROME_BROWSER_SSL_CHROME_MOCK_CERT_VERIFIER_H_
diff --git a/chrome/browser/ui/extensions/hosted_app_browsertest.cc b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
index e9b97ff..db9d737 100644
--- a/chrome/browser/ui/extensions/hosted_app_browsertest.cc
+++ b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
@@ -33,7 +33,6 @@
 #include "chrome/browser/predictors/loading_predictor_config.h"
 #include "chrome/browser/profiles/profile_io_data.h"
 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/browser/ssl/ssl_browsertest_util.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/browser_dialogs.h"
@@ -70,6 +69,7 @@
 #include "content/public/common/context_menu_params.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/browser_test_utils.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "content/public/test/test_navigation_observer.h"
 #include "content/public/test/test_utils.h"
 #include "extensions/browser/extension_registry.h"
@@ -477,9 +477,8 @@
 
   net::EmbeddedTestServer https_server_;
   // Similar to net::MockCertVerifier, but also updates the CertVerifier
-  // used by the NetworkService. This is needed for when tests run with
-  // the NetworkService enabled.
-  ChromeMockCertVerifier cert_verifier_;
+  // used by the NetworkService.
+  content::ContentMockCertVerifier cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(HostedAppTest);
 };
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
index a795793..2472da3 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
@@ -33,7 +33,6 @@
 #include "chrome/browser/sessions/session_restore_test_helper.h"
 #include "chrome/browser/sessions/session_service_factory.h"
 #include "chrome/browser/sessions/session_service_test_helper.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_helper.h"
 #include "chrome/browser/ui/ash/multi_user/test_multi_user_window_manager.h"
@@ -75,6 +74,7 @@
 #include "content/public/browser/render_process_host.h"
 #include "content/public/common/service_manager_connection.h"
 #include "content/public/common/service_names.mojom.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "content/public/test/test_navigation_observer.h"
 #include "net/dns/mock_host_resolver.h"
 #include "services/service_manager/public/cpp/connector.h"
@@ -858,7 +858,7 @@
  private:
   // For mocking a secure site.
   net::EmbeddedTestServer https_server_;
-  ChromeMockCertVerifier cert_verifier_;
+  content::ContentMockCertVerifier cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(HostedAppNonClientFrameViewAshTest);
 };
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc
index 42c984e3..db7d341 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc
@@ -9,7 +9,6 @@
 #include "base/test/test_mock_time_task_runner.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
 #include "chrome/browser/profiles/profile_io_data.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/browser/ui/ash/tablet_mode_client.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
@@ -27,6 +26,7 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/public/common/content_switches.h"
 #include "content/public/common/service_manager_connection.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "net/cert/mock_cert_verifier.h"
 #include "services/service_manager/public/cpp/connector.h"
 #include "ui/aura/client/aura_constants.h"
@@ -142,9 +142,8 @@
 
   net::EmbeddedTestServer https_server_;
   // Similar to net::MockCertVerifier, but also updates the CertVerifier
-  // used by the NetworkService. This is needed for when tests run with
-  // the NetworkService enabled.
-  ChromeMockCertVerifier cert_verifier_;
+  // used by the NetworkService.
+  content::ContentMockCertVerifier cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAshHostedAppBrowserTest);
 };
diff --git a/chrome/browser/ui/views/location_bar/custom_tab_bar_view_browsertest.cc b/chrome/browser/ui/views/location_bar/custom_tab_bar_view_browsertest.cc
index 631bd98..f839194 100644
--- a/chrome/browser/ui/views/location_bar/custom_tab_bar_view_browsertest.cc
+++ b/chrome/browser/ui/views/location_bar/custom_tab_bar_view_browsertest.cc
@@ -4,7 +4,6 @@
 
 #include "base/scoped_observer.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/ssl/chrome_mock_cert_verifier.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
@@ -22,6 +21,7 @@
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/test/browser_test_utils.h"
+#include "content/public/test/content_mock_cert_verifier.h"
 #include "content/public/test/test_navigation_observer.h"
 #include "net/dns/mock_host_resolver.h"
 
@@ -246,9 +246,8 @@
   base::test::ScopedFeatureList scoped_feature_list_;
   net::EmbeddedTestServer https_server_;
   // Similar to net::MockCertVerifier, but also updates the CertVerifier
-  // used by the NetworkService. This is needed for when tests run with
-  // the NetworkService enabled.
-  ChromeMockCertVerifier cert_verifier_;
+  // used by the NetworkService.
+  content::ContentMockCertVerifier cert_verifier_;
 
   DISALLOW_COPY_AND_ASSIGN(CustomTabBarViewBrowserTest);
 };
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 9e8733f..33eeabc 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -4993,8 +4993,6 @@
       "../browser/permissions/permission_request_manager_test_api.h",
       "../browser/ssl/cert_verifier_browser_test.cc",
       "../browser/ssl/cert_verifier_browser_test.h",
-      "../browser/ssl/chrome_mock_cert_verifier.cc",
-      "../browser/ssl/chrome_mock_cert_verifier.h",
       "../browser/ui/search/instant_test_utils.cc",
       "../browser/ui/search/instant_test_utils.h",
       "../browser/ui/search/local_ntp_test_utils.cc",