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 b4e29444b6ea627e489b907bd8ed6e6d735afd37..d6a0186ee40d35d8f7a58be38740a91b05993b2a 100644 |
--- a/chrome/browser/engagement/site_engagement_service.cc |
+++ b/chrome/browser/engagement/site_engagement_service.cc |
@@ -216,3 +216,23 @@ int SiteEngagementService::GetTotalEngagementPoints() { |
} |
return total_score; |
} |
+ |
+std::map<GURL, int> SiteEngagementService::GetScoreMap() { |
+ std::map<GURL, int> score_map; |
+ HostContentSettingsMap* settings_map = |
+ HostContentSettingsMapFactory::GetForProfile(profile_); |
+ ContentSettingsForOneType engagement_settings; |
+ settings_map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, |
+ std::string(), &engagement_settings); |
+ for (const auto& site : engagement_settings) { |
+ GURL origin(site.primary_pattern.ToString()); |
+ if (!origin.is_valid()) |
+ continue; |
+ |
+ scoped_ptr<base::DictionaryValue> score_dict = |
+ GetScoreDictForOrigin(settings_map, origin); |
+ SiteEngagementScore score(&clock_, *score_dict); |
+ score_map[origin] = score.Score(); |
+ } |
+ return score_map; |
+} |