From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Thu, 20 Sep 2018 17:50:34 -0700
Subject: ssl_security_state_tab_helper.patch

Allows populating security tab info for devtools in Electron.

diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc
index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b9644fb721c 100644
--- a/chrome/browser/ssl/security_state_tab_helper.cc
+++ b/chrome/browser/ssl/security_state_tab_helper.cc
@@ -7,31 +7,36 @@
 #include <string>
 
 #include "base/bind.h"
+#include "base/command_line.h"
 #include "base/feature_list.h"
 #include "base/metrics/field_trial_params.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/pattern.h"
 #include "base/strings/string_util.h"
 #include "build/build_config.h"
+#if 0
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/reputation/reputation_web_contents_observer.h"
 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
 #include "chrome/browser/safe_browsing/ui_manager.h"
 #include "chrome/browser/ssl/known_interception_disclosure_infobar_delegate.h"
+#endif
 #include "chrome/browser/ssl/tls_deprecation_config.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/secure_origin_allowlist.h"
 #include "components/autofill/core/common/autofill_features.h"
+#if 0
 #include "components/omnibox/browser/omnibox_field_trial.h"
 #include "components/omnibox/common/omnibox_features.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
-#include "components/prefs/pref_service.h"
 #include "components/safe_browsing/buildflags.h"
 #include "components/security_interstitials/core/features.h"
 #include "components/security_interstitials/core/pref_names.h"
+#endif
+#include "components/prefs/pref_service.h"
 #include "components/security_state/content/content_utils.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/navigation_entry.h"
@@ -54,7 +59,7 @@
 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
 #endif  // defined(OS_CHROMEOS)
 
-#if BUILDFLAG(FULL_SAFE_BROWSING)
+#if 0
 #include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
 #endif
 
@@ -98,9 +103,12 @@ bool IsLegacyTLS(GURL url, int connection_status) {
   // default we treat TLS < 1.2 as Legacy, unless the "SSLVersionMin" policy is
   // set.
   std::string ssl_version_min_str = switches::kSSLVersionTLSv12;
-  PrefService* local_state = g_browser_process->local_state();
-  if (local_state && local_state->HasPrefPath(prefs::kSSLVersionMin)) {
-    ssl_version_min_str = local_state->GetString(prefs::kSSLVersionMin);
+
+  // Read directly from the command line, since our pref store is not the same
+  // as Chrome's.
+  auto* cmd_line = base::CommandLine::ForCurrentProcess();
+  if (cmd_line->HasSwitch(::switches::kSSLVersionMin)) {
+    ssl_version_min_str = cmd_line->GetSwitchValueASCII(::switches::kSSLVersionMin);
   }
 
   // Convert the pref string to an SSLVersion, if it is valid. Otherwise use the
@@ -120,8 +128,9 @@ bool IsLegacyTLS(GURL url, int connection_status) {
 
 }  // namespace
 
+#if 0
 using password_manager::metrics_util::PasswordType;
-using safe_browsing::SafeBrowsingUIManager;
+#endif
 
 SecurityStateTabHelper::SecurityStateTabHelper(
     content::WebContents* web_contents)
@@ -167,6 +176,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() {
   // information is still being initialized, thus no need to check for that.
   state->malicious_content_status = GetMaliciousContentStatus();
 
+#if 0
   ReputationWebContentsObserver* reputation_web_contents_observer =
       ReputationWebContentsObserver::FromWebContents(web_contents());
   state->safety_tip_info =
@@ -191,6 +201,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() {
     }
   }
 
+#endif
   return state;
 }
 
@@ -253,8 +264,10 @@ void SecurityStateTabHelper::DidFinishNavigation(
     UMA_HISTOGRAM_BOOLEAN("interstitial.ssl.visited_site_after_warning", true);
   }
 
+#if 0
   MaybeShowKnownInterceptionDisclosureDialog(
       web_contents(), visible_security_state->cert_status);
+#endif
 }
 
 void SecurityStateTabHelper::DidChangeVisibleSecurityState() {
@@ -278,6 +291,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
       web_contents()->GetController().GetVisibleEntry();
   if (!entry)
     return security_state::MALICIOUS_CONTENT_STATUS_NONE;
+#if 0
   safe_browsing::SafeBrowsingService* sb_service =
       g_browser_process->safe_browsing_service();
   if (!sb_service)
@@ -360,6 +374,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
         break;
     }
   }
+#endif
   return security_state::MALICIOUS_CONTENT_STATUS_NONE;
 }
 
