Move checking of previews blacklist flag to params

This enables other flags (in the next CL) to enable this behavior.

Bug: 956685
Change-Id: I94e909bda16ff52ad9f5f794ade14dafbc198417
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1619214
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661366}
diff --git a/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc b/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc
index 106d511..ad7d7c6 100644
--- a/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc
+++ b/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc
@@ -190,8 +190,7 @@
 void InterventionsInternalsPageHandler::OnLastObserverRemove() {
   // Reset the status of ignoring PreviewsBlackList decisions to default value.
   previews_ui_service_->SetIgnorePreviewsBlacklistDecision(
-      base::CommandLine::ForCurrentProcess()->HasSwitch(
-          previews::switches::kIgnorePreviewsBlacklist));
+      previews::switches::ShouldIgnorePreviewsBlacklist());
 }
 
 void InterventionsInternalsPageHandler::OnIgnoreBlacklistDecisionStatusChanged(
diff --git a/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc b/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc
index e308815f..53e7db1 100644
--- a/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc
+++ b/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc
@@ -915,8 +915,7 @@
 
 TEST_F(InterventionsInternalsPageHandlerTest,
        IgnoreBlacklistReversedOnLastObserverRemovedCalled) {
-  ASSERT_FALSE(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      previews::switches::kIgnorePreviewsBlacklist));
+  ASSERT_FALSE(previews::switches::ShouldIgnorePreviewsBlacklist());
   page_handler_->OnLastObserverRemove();
   base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(page_->blacklist_ignored());
@@ -927,8 +926,7 @@
   base::test::ScopedCommandLine scoped_command_line;
   base::CommandLine* command_line = scoped_command_line.GetProcessCommandLine();
   command_line->AppendSwitch(previews::switches::kIgnorePreviewsBlacklist);
-  ASSERT_TRUE(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      previews::switches::kIgnorePreviewsBlacklist));
+  ASSERT_TRUE(previews::switches::ShouldIgnorePreviewsBlacklist());
   page_handler_->OnLastObserverRemove();
   base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(page_->blacklist_ignored());
diff --git a/components/previews/content/previews_decider_impl.cc b/components/previews/content/previews_decider_impl.cc
index 75f07f3..9b9f9d1 100644
--- a/components/previews/content/previews_decider_impl.cc
+++ b/components/previews/content/previews_decider_impl.cc
@@ -89,11 +89,6 @@
   return false;
 }
 
-bool IsPreviewsBlacklistIgnoredViaFlag() {
-  return base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kIgnorePreviewsBlacklist);
-}
-
 // We don't care if the ECT is unknown if the slow page threshold is set to 4G
 // (i.e.: all pages).
 bool ShouldCheckForUnknownECT(net::EffectiveConnectionType ect) {
@@ -105,9 +100,8 @@
 
 }  // namespace
 
-PreviewsDeciderImpl::PreviewsDeciderImpl(
-    base::Clock* clock)
-    : blacklist_ignored_(IsPreviewsBlacklistIgnoredViaFlag()),
+PreviewsDeciderImpl::PreviewsDeciderImpl(base::Clock* clock)
+    : blacklist_ignored_(switches::ShouldIgnorePreviewsBlacklist()),
       clock_(clock),
       page_id_(1u),
       weak_factory_(this) {}
diff --git a/components/previews/content/previews_decider_impl_unittest.cc b/components/previews/content/previews_decider_impl_unittest.cc
index 7baa15c..b0b5ef8 100644
--- a/components/previews/content/previews_decider_impl_unittest.cc
+++ b/components/previews/content/previews_decider_impl_unittest.cc
@@ -1922,8 +1922,7 @@
   base::test::ScopedCommandLine scoped_command_line;
   base::CommandLine* command_line = scoped_command_line.GetProcessCommandLine();
   command_line->AppendSwitch(switches::kIgnorePreviewsBlacklist);
-  ASSERT_TRUE(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kIgnorePreviewsBlacklist));
+  ASSERT_TRUE(switches::ShouldIgnorePreviewsBlacklist());
 
   InitializeUIService();
 
diff --git a/components/previews/core/previews_logger.cc b/components/previews/core/previews_logger.cc
index c512920..a28a1e1 100644
--- a/components/previews/core/previews_logger.cc
+++ b/components/previews/core/previews_logger.cc
@@ -132,8 +132,7 @@
       page_id(other.page_id) {}
 
 PreviewsLogger::PreviewsLogger()
-    : blacklist_ignored_(base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kIgnorePreviewsBlacklist)) {}
+    : blacklist_ignored_(switches::ShouldIgnorePreviewsBlacklist()) {}
 
 PreviewsLogger::~PreviewsLogger() {}
 
diff --git a/components/previews/core/previews_logger_unittest.cc b/components/previews/core/previews_logger_unittest.cc
index 4fe3cfd..18d322d 100644
--- a/components/previews/core/previews_logger_unittest.cc
+++ b/components/previews/core/previews_logger_unittest.cc
@@ -769,8 +769,7 @@
   base::test::ScopedCommandLine scoped_command_line;
   base::CommandLine* command_line = scoped_command_line.GetProcessCommandLine();
   command_line->AppendSwitch(switches::kIgnorePreviewsBlacklist);
-  ASSERT_TRUE(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kIgnorePreviewsBlacklist));
+  ASSERT_TRUE(switches::ShouldIgnorePreviewsBlacklist());
 
   TestPreviewsLoggerObserver observer;
   PreviewsLogger logger;
diff --git a/components/previews/core/previews_switches.cc b/components/previews/core/previews_switches.cc
index de80525b..61f5164c 100644
--- a/components/previews/core/previews_switches.cc
+++ b/components/previews/core/previews_switches.cc
@@ -4,9 +4,16 @@
 
 #include "components/previews/core/previews_switches.h"
 
+#include "base/command_line.h"
+
 namespace previews {
 namespace switches {
 
+bool ShouldIgnorePreviewsBlacklist() {
+  return base::CommandLine::ForCurrentProcess()->HasSwitch(
+      kIgnorePreviewsBlacklist);
+}
+
 // Do not require the user notification InfoBar to be shown before triggering a
 // Lite Page Redirect preview.
 const char kDoNotRequireLitePageRedirectInfoBar[] =
diff --git a/components/previews/core/previews_switches.h b/components/previews/core/previews_switches.h
index ffb8bbe..f3e3143 100644
--- a/components/previews/core/previews_switches.h
+++ b/components/previews/core/previews_switches.h
@@ -8,6 +8,10 @@
 namespace previews {
 namespace switches {
 
+// Whether the previews blacklist should be ignored, according to command line
+// switches.
+bool ShouldIgnorePreviewsBlacklist();
+
 extern const char kDoNotRequireLitePageRedirectInfoBar[];
 extern const char kIgnorePreviewsBlacklist[];
 extern const char kLitePageServerPreviewHost[];