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 b9baf3cc836e04f3898b4f03b3bbf339e79ee3fc..9a7414a7323daa82b28b2894f455542551d60eac 100644
--- a/chrome/browser/ssl/security_state_tab_helper.cc
+++ b/chrome/browser/ssl/security_state_tab_helper.cc
@@ -13,22 +13,26 @@
 #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_whitelist.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"
+#endif
+#include "components/prefs/pref_service.h"
 #include "components/security_state/content/content_utils.h"
 #include "components/security_state/core/security_state_pref_names.h"
 #include "content/public/browser/browser_context.h"
@@ -52,7 +56,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
 
@@ -96,9 +100,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
@@ -115,8 +122,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)
@@ -160,6 +168,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 =
@@ -177,6 +186,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() {
           security_state::prefs::kStricterMixedContentTreatmentEnabled)) {
     state->should_suppress_mixed_content_warning = true;
   }
+#endif
 
   return state;
 }
@@ -227,8 +237,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() {
@@ -252,6 +264,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)
@@ -334,6 +347,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
         break;
     }
   }
+#endif
   return security_state::MALICIOUS_CONTENT_STATUS_NONE;
 }
 
