Commit 644e4b11 authored by Robert Ogden's avatar Robert Ogden Committed by Commit Bot

HTTPS Previews: Add cmd line flags for the local blacklist

Adds flags to clear and add to the local blacklist. These flags are
evaluated on startup.

These flags are needed for Chrome Driver testing.

Bug: 908491
Change-Id: Id67f9393d826c9e6bd267eb8ac39dc1118a4bce7
Reviewed-on: https://chromium-review.googlesource.com/c/1351880Reviewed-by: default avatarRyan Sturm <ryansturm@chromium.org>
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611809}
parent 00d453e4
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <vector> #include <vector>
#include "base/callback.h" #include "base/callback.h"
#include "base/command_line.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/rand_util.h" #include "base/rand_util.h"
#include "base/time/default_tick_clock.h" #include "base/time/default_tick_clock.h"
...@@ -27,6 +28,7 @@ ...@@ -27,6 +28,7 @@
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/previews/content/previews_user_data.h" #include "components/previews/content/previews_user_data.h"
#include "components/previews/core/previews_experiments.h" #include "components/previews/core/previews_experiments.h"
#include "components/previews/core/previews_switches.h"
#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_context.h"
#include "content/public/browser/navigation_entry.h" #include "content/public/browser/navigation_entry.h"
#include "content/public/browser/navigation_handle.h" #include "content/public/browser/navigation_handle.h"
...@@ -142,13 +144,18 @@ PreviewsLitePageDecider::PreviewsLitePageDecider( ...@@ -142,13 +144,18 @@ PreviewsLitePageDecider::PreviewsLitePageDecider(
DCHECK(!browser_context->IsOffTheRecord()); DCHECK(!browser_context->IsOffTheRecord());
Profile* profile = Profile::FromBrowserContext(browser_context); pref_service_ = Profile::FromBrowserContext(browser_context)->GetPrefs();
pref_service_ = profile->GetPrefs();
DCHECK(pref_service_);
host_blacklist_ = host_blacklist_ =
pref_service_->GetDictionary(kHostBlacklist)->CreateDeepCopy(); pref_service_->GetDictionary(kHostBlacklist)->CreateDeepCopy();
// Note: This switch has no effect if |drp_settings| was null since
// |host_blacklist_| would be empty anyways.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
previews::switches::kClearLitePageRedirectLocalBlacklist)) {
host_blacklist_->Clear();
pref_service_->Set(kHostBlacklist, *host_blacklist_);
}
// Add |this| as an observer to DRP, but if DRP is already initialized, check // Add |this| as an observer to DRP, but if DRP is already initialized, check
// the prefs now. // the prefs now.
drp_settings_ = drp_settings; drp_settings_ = drp_settings;
......
...@@ -17,5 +17,9 @@ const char kLitePageServerPreviewHost[] = "litepage-server-previews-host"; ...@@ -17,5 +17,9 @@ const char kLitePageServerPreviewHost[] = "litepage-server-previews-host";
const char kIgnoreLitePageRedirectOptimizationBlacklist[] = const char kIgnoreLitePageRedirectOptimizationBlacklist[] =
"ignore-litepage-redirect-optimization-blacklist"; "ignore-litepage-redirect-optimization-blacklist";
// Clears the local Lite Page Redirect blacklist on startup.
const char kClearLitePageRedirectLocalBlacklist[] =
"clear-litepage-redirect-local-blacklist-on-startup";
} // namespace switches } // namespace switches
} // namespace previews } // namespace previews
...@@ -11,6 +11,7 @@ namespace switches { ...@@ -11,6 +11,7 @@ namespace switches {
extern const char kIgnorePreviewsBlacklist[]; extern const char kIgnorePreviewsBlacklist[];
extern const char kLitePageServerPreviewHost[]; extern const char kLitePageServerPreviewHost[];
extern const char kIgnoreLitePageRedirectOptimizationBlacklist[]; extern const char kIgnoreLitePageRedirectOptimizationBlacklist[];
extern const char kClearLitePageRedirectLocalBlacklist[];
} // namespace switches } // namespace switches
} // namespace previews } // namespace previews
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment