Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1565)

Unified Diff: chrome/browser/engagement/site_engagement_score.cc

Issue 1986033002: Implement an observer interface for the site engagement service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@site-engagement-refactor
Patch Set: Convert to an observer interface Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/engagement/site_engagement_score.cc
diff --git a/chrome/browser/engagement/site_engagement_score.cc b/chrome/browser/engagement/site_engagement_score.cc
index 140cd01b1135e78e3b8eb5d14a60d6bff2f2cdfe..af456dc8410ded7a83e35e9aae6087fcdf077dd4 100644
--- a/chrome/browser/engagement/site_engagement_score.cc
+++ b/chrome/browser/engagement/site_engagement_score.cc
@@ -15,6 +15,10 @@
namespace {
+// The smallest amount by which engagement is incremented. Updated if necessary
+// in SiteEngagementScore::UpdateFromVariations.
+double gMinimumEngagementIncrement = 0.01;
+
// Delta within which to consider scores equal.
const double kScoreDelta = 0.001;
@@ -119,6 +123,10 @@ double SiteEngagementScore::GetHighEngagementBoundary() {
return param_values[HIGH_ENGAGEMENT_BOUNDARY];
}
+double SiteEngagementScore::GetMinimumEngagementIncrement() {
+ return gMinimumEngagementIncrement;
+}
+
// static
void SiteEngagementScore::UpdateFromVariations(const char* param_name) {
double param_vals[MAX_VARIATION];
@@ -137,9 +145,17 @@ void SiteEngagementScore::UpdateFromVariations(const char* param_name) {
}
// Once we're sure everything is valid, assign the variation to the param
- // values array.
- for (int i = 0; i < MAX_VARIATION; ++i)
+ // values array. Update the minimum engagement increment if it has changed.
+ for (int i = 0; i < MAX_VARIATION; ++i) {
SiteEngagementScore::param_values[i] = param_vals[i];
+
+ // If the value is one used to increment the site engagement score, update
+ // the minimum engagement increment if necessary.
+ if (i >= POINTS_INCREMENT_FIRST && i <= POINTS_INCREMENT_LAST &&
+ param_vals[i] < gMinimumEngagementIncrement) {
+ gMinimumEngagementIncrement = param_vals[i];
+ }
+ }
}
SiteEngagementScore::SiteEngagementScore(base::Clock* clock,

Powered by Google App Engine
This is Rietveld 408576698