  #include "chrome/browser/shell_integration.h"
  #include "chrome/browser/status_icons/status_tray.h"
  #include "chrome/browser/ui/browser_dialogs.h"
-@@ -191,7 +190,6 @@ BrowserProcessImpl::BrowserProcessImpl(
-       created_local_state_(false),
+@@ -196,7 +195,6 @@
        created_icon_manager_(false),
        created_notification_ui_manager_(false),
+       created_notification_bridge_(false),
 -      created_safe_browsing_service_(false),
+       created_subresource_filter_ruleset_service_(false),
        shutting_down_(false),
        tearing_down_(false),
-       download_status_updater_(new DownloadStatusUpdater),
-@@ -268,8 +266,6 @@ void BrowserProcessImpl::StartTearDown() {
-   // URLFetcher operation before going away.)
+@@ -280,8 +278,6 @@
+   // that URLFetcher operation before going away.)
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
 -  if (safe_browsing_service_.get())
 -    safe_browsing_service()->ShutDown();
+   network_time_tracker_.reset();
  #if defined(ENABLE_PLUGIN_INSTALLATION)
    plugins_resource_service_.reset();
- #endif
-@@ -882,22 +878,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
+@@ -843,22 +839,6 @@
    return status_tray_.get();
  }
 

 }

 bool ChromeMetricsServicesManagerClient::IsMetricsReportingEnabled() {
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
@@ -42,10 +42,6 @@ class WatchDogThread;
 class WebRtcLogUploader;
 #endif

-namespace safe_browsing {
-class SafeBrowsingService;
-}
-
 namespace variations {
 class VariationsService;
 }
@@ -107,10 +103,6 @@ namespace rappor {
 class RapporService;
 }

-namespace safe_browsing {
-class ClientSideDetectionService;
-}
-
 namespace web_resource {
 class PromoResourceService;
 }
@@ -217,14 +209,6 @@ class BrowserProcess {
   // on this platform (or this is a unit test).
   virtual StatusTray* status_tray() = 0;

-  // Returns the SafeBrowsing service.
-  virtual safe_browsing::SafeBrowsingService* safe_browsing_service() = 0;
-
-  // Returns an object which handles communication with the SafeBrowsing
-  // client-side detection servers.
-  virtual safe_browsing::ClientSideDetectionService*
-      safe_browsing_detection_service() = 0;
-
 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
   // This will start a timer that, if Chrome is in persistent mode, will check
   // whether an update is available, and if that's the case, restart the
--- a/chrome/browser/download/download_danger_prompt.cc
+++ b/chrome/browser/download/download_danger_prompt.cc
@@ -28,10 +28,6 @@
 #include "ui/base/l10n/l10n_util.h"

 using extensions::ExperienceSamplingEvent;
-using safe_browsing::ClientDownloadResponse;
-using safe_browsing::ClientSafeBrowsingReportRequest;
-using safe_browsing::download_protection_util::
-    GetSBClientDownloadExtensionValueForUMA;

 namespace {

@@ -316,6 +312,7 @@ DownloadDangerPrompt* DownloadDangerPrompt::Create(
 void DownloadDangerPrompt::SendSafeBrowsingDownloadRecoveryReport(
     bool did_proceed,
     const content::DownloadItem& download) {
+#if 0
   safe_browsing::SafeBrowsingService* sb_service =
       g_browser_process->safe_browsing_service();
   ClientSafeBrowsingReportRequest report;
@@ -345,11 +342,13 @@ void DownloadDangerPrompt::SendSafeBrowsingDownloadRecoveryReport(
     sb_service->SendDownloadRecoveryReport(serialized_report);
   else
     DLOG(ERROR) << "Unable to serialize the threat report.";
+#endif
 }

 void DownloadDangerPrompt::RecordDownloadDangerPrompt(
     bool did_proceed,
     const content::DownloadItem& download) {
+#if 0
   int dangerous_file_type =
       GetSBClientDownloadExtensionValueForUMA(download.GetTargetFilePath());
   content::DownloadDangerType danger_type = download.GetDangerType();
@@ -364,4 +363,5 @@ void DownloadDangerPrompt::RecordDownloadDangerPrompt(
                            GetDangerTypeString(danger_type)),
         dangerous_file_type);
   }
+#endif
 }

-      safe_browsing_ui_manager_->ReportInvalidCertificateChain(
-          serialized_report, base::Bind(&base::DoNothing));
-    }
   }

  private:
@@ -1532,13 +1528,9 @@
         }
       }

-      // Disable client-side phishing detection in the renderer if it is
-      // disabled in the Profile preferences or the browser process.
-      if (!prefs->GetBoolean(prefs::kSafeBrowsingEnabled) ||
-          !g_browser_process->safe_browsing_detection_service()) {
-        command_line->AppendSwitch(
-            switches::kDisableClientSidePhishingDetection);
-      }
+      // Disable client-side phishing detection.
+      command_line->AppendSwitch(
+          switches::kDisableClientSidePhishingDetection);

       if (prefs->GetBoolean(prefs::kPrintPreviewDisabled))
         command_line->AppendSwitch(switches::kDisablePrintPreview);
@@ -2077,12 +2069,8 @@
   if (expired_previous_decision)
     options_mask |= SSLErrorUI::EXPIRED_BUT_PREVIOUSLY_ALLOWED;

-  safe_browsing::SafeBrowsingService* safe_browsing_service =
-      g_browser_process->safe_browsing_service();
   std::unique_ptr<SafeBrowsingSSLCertReporter> cert_reporter(
-      new SafeBrowsingSSLCertReporter(safe_browsing_service
-                                          ? safe_browsing_service->ui_manager()
-                                          : nullptr));
+      new SafeBrowsingSSLCertReporter(nullptr));
   SSLErrorHandler::HandleSSLError(web_contents, cert_error, ssl_info,
                                   request_url, options_mask,
                                   std::move(cert_reporter), callback)
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -452,12 +452,12 @@ ProfileImpl::ProfileImpl(
