Index: chrome/browser/engagement/site_engagement_service.cc |
diff --git a/chrome/browser/engagement/site_engagement_service.cc b/chrome/browser/engagement/site_engagement_service.cc |
index 9e7798cd6dc77adce456d32667de46076d3a7149..afbc1472d2b717aa28297b992a245683b934f57c 100644 |
--- a/chrome/browser/engagement/site_engagement_service.cc |
+++ b/chrome/browser/engagement/site_engagement_service.cc |
@@ -15,6 +15,7 @@ |
#include "base/time/default_clock.h" |
#include "base/values.h" |
#include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
+#include "chrome/browser/engagement/site_engagement_eviction_policy.h" |
#include "chrome/browser/engagement/site_engagement_helper.h" |
#include "chrome/browser/engagement/site_engagement_service_factory.h" |
#include "chrome/common/chrome_switches.h" |
@@ -250,16 +251,20 @@ SiteEngagementService* SiteEngagementService::Get(Profile* profile) { |
// static |
bool SiteEngagementService::IsEnabled() { |
- const std::string group_name = |
- base::FieldTrialList::FindFullName(kEngagementParams); |
+ // If the engagement service or any of its dependencies are force-enabled, |
+ // return true immediately. |
if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableSiteEngagementService)) { |
+ switches::kEnableSiteEngagementService) || |
+ SiteEngagementEvictionPolicy::IsEnabled()) { |
return true; |
} |
+ |
if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kDisableSiteEngagementService)) { |
return false; |
} |
+ const std::string group_name = |
+ base::FieldTrialList::FindFullName(kEngagementParams); |
return base::StartsWith(group_name, "Enabled", base::CompareCase::SENSITIVE); |
} |