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

Side by Side Diff: chrome/browser/engagement/site_engagement_service.cc

Issue 1650983002: Add an IsBootstrapped method to the SiteEngagementService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@adjust_constants
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/engagement/site_engagement_service.h" 5 #include "chrome/browser/engagement/site_engagement_service.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <cmath> 9 #include <cmath>
10 #include <utility> 10 #include <utility>
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 double SiteEngagementScore::param_values[] = { 119 double SiteEngagementScore::param_values[] = {
120 5, // MAX_POINTS_PER_DAY 120 5, // MAX_POINTS_PER_DAY
121 7, // DECAY_PERIOD_IN_DAYS 121 7, // DECAY_PERIOD_IN_DAYS
122 5, // DECAY_POINTS 122 5, // DECAY_POINTS
123 0.5, // NAVIGATION_POINTS 123 0.5, // NAVIGATION_POINTS
124 0.2, // USER_INPUT_POINTS 124 0.2, // USER_INPUT_POINTS
125 0.02, // VISIBLE_MEDIA_POINTS 125 0.02, // VISIBLE_MEDIA_POINTS
126 0.01, // HIDDEN_MEDIA_POINTS 126 0.01, // HIDDEN_MEDIA_POINTS
127 5, // WEB_APP_INSTALLED_POINTS 127 5, // WEB_APP_INSTALLED_POINTS
128 0.5, // FIRST_DAILY_ENGAGEMENT 128 0.5, // FIRST_DAILY_ENGAGEMENT
129 30, // BOOTSTRAP_POINTS
dominickn 2016/02/04 03:11:24 Nit: as discussed offline wrt UMA stats, change th
calamity 2016/02/04 23:09:09 Done.
129 }; 130 };
130 131
131 const char* SiteEngagementScore::kRawScoreKey = "rawScore"; 132 const char* SiteEngagementScore::kRawScoreKey = "rawScore";
132 const char* SiteEngagementScore::kPointsAddedTodayKey = "pointsAddedToday"; 133 const char* SiteEngagementScore::kPointsAddedTodayKey = "pointsAddedToday";
133 const char* SiteEngagementScore::kLastEngagementTimeKey = "lastEngagementTime"; 134 const char* SiteEngagementScore::kLastEngagementTimeKey = "lastEngagementTime";
134 const char* SiteEngagementScore::kLastShortcutLaunchTimeKey = 135 const char* SiteEngagementScore::kLastShortcutLaunchTimeKey =
135 "lastShortcutLaunchTime"; 136 "lastShortcutLaunchTime";
136 137
137 double SiteEngagementScore::GetMaxPointsPerDay() { 138 double SiteEngagementScore::GetMaxPointsPerDay() {
138 return param_values[MAX_POINTS_PER_DAY]; 139 return param_values[MAX_POINTS_PER_DAY];
(...skipping 24 matching lines...) Expand all
163 } 164 }
164 165
165 double SiteEngagementScore::GetWebAppInstalledPoints() { 166 double SiteEngagementScore::GetWebAppInstalledPoints() {
166 return param_values[WEB_APP_INSTALLED_POINTS]; 167 return param_values[WEB_APP_INSTALLED_POINTS];
167 } 168 }
168 169
169 double SiteEngagementScore::GetFirstDailyEngagementPoints() { 170 double SiteEngagementScore::GetFirstDailyEngagementPoints() {
170 return param_values[FIRST_DAILY_ENGAGEMENT]; 171 return param_values[FIRST_DAILY_ENGAGEMENT];
171 } 172 }
172 173
174 double SiteEngagementScore::GetBootstrapPoints() {
175 return param_values[BOOTSTRAP_POINTS];
176 }
177
173 void SiteEngagementScore::UpdateFromVariations() { 178 void SiteEngagementScore::UpdateFromVariations() {
174 double param_vals[MAX_VARIATION]; 179 double param_vals[MAX_VARIATION];
175 180
176 for (int i = 0; i < MAX_VARIATION; ++i) { 181 for (int i = 0; i < MAX_VARIATION; ++i) {
177 std::string param_string = variations::GetVariationParamValue( 182 std::string param_string = variations::GetVariationParamValue(
178 SiteEngagementService::kEngagementParams, kVariationNames[i]); 183 SiteEngagementService::kEngagementParams, kVariationNames[i]);
179 184
180 // Bail out if we didn't get a param string for the key, or if we couldn't 185 // Bail out if we didn't get a param string for the key, or if we couldn't
181 // convert the param string to a double, or if we get a negative value. 186 // convert the param string to a double, or if we get a negative value.
182 if (param_string.empty() || 187 if (param_string.empty() ||
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 332
328 void SiteEngagementScore::SetParamValuesForTesting() { 333 void SiteEngagementScore::SetParamValuesForTesting() {
329 param_values[MAX_POINTS_PER_DAY] = 5; 334 param_values[MAX_POINTS_PER_DAY] = 5;
330 param_values[DECAY_PERIOD_IN_DAYS] = 7; 335 param_values[DECAY_PERIOD_IN_DAYS] = 7;
331 param_values[DECAY_POINTS] = 5; 336 param_values[DECAY_POINTS] = 5;
332 param_values[NAVIGATION_POINTS] = 0.5; 337 param_values[NAVIGATION_POINTS] = 0.5;
333 param_values[USER_INPUT_POINTS] = 0.05; 338 param_values[USER_INPUT_POINTS] = 0.05;
334 param_values[VISIBLE_MEDIA_POINTS] = 0.02; 339 param_values[VISIBLE_MEDIA_POINTS] = 0.02;
335 param_values[HIDDEN_MEDIA_POINTS] = 0.01; 340 param_values[HIDDEN_MEDIA_POINTS] = 0.01;
336 param_values[WEB_APP_INSTALLED_POINTS] = 5; 341 param_values[WEB_APP_INSTALLED_POINTS] = 5;
342 param_values[BOOTSTRAP_POINTS] = 30;
337 343
338 // This is set to zero to avoid interference with tests and is set when 344 // This is set to zero to avoid interference with tests and is set when
339 // testing this functionality. 345 // testing this functionality.
340 param_values[FIRST_DAILY_ENGAGEMENT] = 0; 346 param_values[FIRST_DAILY_ENGAGEMENT] = 0;
341 } 347 }
342 348
343 const char SiteEngagementService::kEngagementParams[] = "SiteEngagement"; 349 const char SiteEngagementService::kEngagementParams[] = "SiteEngagement";
344 350
345 // static 351 // static
346 SiteEngagementService* SiteEngagementService::Get(Profile* profile) { 352 SiteEngagementService* SiteEngagementService::Get(Profile* profile) {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 518
513 scoped_ptr<base::DictionaryValue> score_dict = 519 scoped_ptr<base::DictionaryValue> score_dict =
514 GetScoreDictForOrigin(settings_map, origin); 520 GetScoreDictForOrigin(settings_map, origin);
515 SiteEngagementScore score(clock_.get(), *score_dict); 521 SiteEngagementScore score(clock_.get(), *score_dict);
516 score_map[origin] = score.Score(); 522 score_map[origin] = score.Score();
517 } 523 }
518 524
519 return score_map; 525 return score_map;
520 } 526 }
521 527
528 bool SiteEngagementService::IsBootstrapped() {
529 return GetTotalEngagementPoints() >=
530 SiteEngagementScore::GetBootstrapPoints();
531 }
532
522 SiteEngagementService::SiteEngagementService(Profile* profile, 533 SiteEngagementService::SiteEngagementService(Profile* profile,
523 scoped_ptr<base::Clock> clock) 534 scoped_ptr<base::Clock> clock)
524 : profile_(profile), clock_(std::move(clock)), weak_factory_(this) { 535 : profile_(profile), clock_(std::move(clock)), weak_factory_(this) {
525 // May be null in tests. 536 // May be null in tests.
526 history::HistoryService* history = HistoryServiceFactory::GetForProfile( 537 history::HistoryService* history = HistoryServiceFactory::GetForProfile(
527 profile, ServiceAccessType::IMPLICIT_ACCESS); 538 profile, ServiceAccessType::IMPLICIT_ACCESS);
528 if (history) 539 if (history)
529 history->AddObserver(this); 540 history->AddObserver(this);
530 } 541 }
531 542
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 HostContentSettingsMapFactory::GetForProfile(profile_); 677 HostContentSettingsMapFactory::GetForProfile(profile_);
667 for (const auto& origin_to_count : origin_counts) { 678 for (const auto& origin_to_count : origin_counts) {
668 if (origin_to_count.second != 0) 679 if (origin_to_count.second != 0)
669 continue; 680 continue;
670 681
671 settings_map->SetWebsiteSettingDefaultScope( 682 settings_map->SetWebsiteSettingDefaultScope(
672 origin_to_count.first, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, 683 origin_to_count.first, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT,
673 std::string(), nullptr); 684 std::string(), nullptr);
674 } 685 }
675 } 686 }
OLDNEW
« no previous file with comments | « chrome/browser/engagement/site_engagement_service.h ('k') | chrome/browser/engagement/site_engagement_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698