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

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

Issue 2393103002: [Durable] Updated Durable heuristic to use 'important sites' (Closed)
Patch Set: windows test fix Created 4 years, 2 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/android/preferences/important_sites_util.h" 5 #include "chrome/browser/engagement/important_sites_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <set> 10 #include <set>
11 #include <utility> 11 #include <utility>
12 12
13 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/metrics/histogram_macros.h" 15 #include "base/metrics/histogram_macros.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 CROSSED_ENGAGEMENT = 2, 77 CROSSED_ENGAGEMENT = 2,
78 CROSSED_NOTIFICATIONS_AND_ENGAGEMENT = 3, 78 CROSSED_NOTIFICATIONS_AND_ENGAGEMENT = 3,
79 CROSSED_DURABLE_AND_ENGAGEMENT = 4, 79 CROSSED_DURABLE_AND_ENGAGEMENT = 4,
80 CROSSED_NOTIFICATIONS_AND_DURABLE = 5, 80 CROSSED_NOTIFICATIONS_AND_DURABLE = 5,
81 CROSSED_NOTIFICATIONS_AND_DURABLE_AND_ENGAGEMENT = 6, 81 CROSSED_NOTIFICATIONS_AND_DURABLE_AND_ENGAGEMENT = 6,
82 CROSSED_REASON_UNKNOWN = 7, 82 CROSSED_REASON_UNKNOWN = 7,
83 CROSSED_REASON_BOUNDARY 83 CROSSED_REASON_BOUNDARY
84 }; 84 };
85 85
86 CrossedReason GetCrossedReasonFromBitfield(int32_t reason_bitfield) { 86 CrossedReason GetCrossedReasonFromBitfield(int32_t reason_bitfield) {
87 bool durable = reason_bitfield & (1 << ImportantReason::DURABLE); 87 bool durable = (reason_bitfield & (1 << ImportantReason::DURABLE)) != 0;
88 bool notifications = reason_bitfield & (1 << ImportantReason::NOTIFICATIONS); 88 bool notifications =
89 bool engagement = reason_bitfield & (1 << ImportantReason::ENGAGEMENT); 89 (reason_bitfield & (1 << ImportantReason::NOTIFICATIONS)) != 0;
90 bool engagement = (reason_bitfield & (1 << ImportantReason::ENGAGEMENT)) != 0;
90 if (durable && notifications && engagement) 91 if (durable && notifications && engagement)
91 return CROSSED_NOTIFICATIONS_AND_DURABLE_AND_ENGAGEMENT; 92 return CROSSED_NOTIFICATIONS_AND_DURABLE_AND_ENGAGEMENT;
92 else if (notifications && durable) 93 else if (notifications && durable)
93 return CROSSED_NOTIFICATIONS_AND_DURABLE; 94 return CROSSED_NOTIFICATIONS_AND_DURABLE;
94 else if (notifications && engagement) 95 else if (notifications && engagement)
95 return CROSSED_NOTIFICATIONS_AND_ENGAGEMENT; 96 return CROSSED_NOTIFICATIONS_AND_ENGAGEMENT;
96 else if (durable && engagement) 97 else if (durable && engagement)
97 return CROSSED_DURABLE_AND_ENGAGEMENT; 98 return CROSSED_DURABLE_AND_ENGAGEMENT;
98 else if (notifications) 99 else if (notifications)
99 return CROSSED_NOTIFICATIONS; 100 return CROSSED_NOTIFICATIONS;
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 // experiment to give us initial data on what signals actually mattered. 424 // experiment to give us initial data on what signals actually mattered.
424 for (int32_t reason_bitfield : blacklisted_sites_reason_bitfield) { 425 for (int32_t reason_bitfield : blacklisted_sites_reason_bitfield) {
425 UMA_HISTOGRAM_ENUMERATION("Storage.BlacklistedImportantSites.Reason", 426 UMA_HISTOGRAM_ENUMERATION("Storage.BlacklistedImportantSites.Reason",
426 GetCrossedReasonFromBitfield(reason_bitfield), 427 GetCrossedReasonFromBitfield(reason_bitfield),
427 CROSSED_REASON_BOUNDARY); 428 CROSSED_REASON_BOUNDARY);
428 } 429 }
429 } 430 }
430 431
431 void ImportantSitesUtil::MarkOriginAsImportantForTesting(Profile* profile, 432 void ImportantSitesUtil::MarkOriginAsImportantForTesting(Profile* profile,
432 const GURL& origin) { 433 const GURL& origin) {
434 SiteEngagementScore::SetParamValuesForTesting();
433 // First get data from site engagement. 435 // First get data from site engagement.
434 SiteEngagementService* site_engagement_service = 436 SiteEngagementService* site_engagement_service =
435 SiteEngagementService::Get(profile); 437 SiteEngagementService::Get(profile);
436 site_engagement_service->ResetScoreForURL( 438 site_engagement_service->ResetScoreForURL(
437 origin, SiteEngagementScore::GetMediumEngagementBoundary()); 439 origin, SiteEngagementScore::GetMediumEngagementBoundary());
438 DCHECK(site_engagement_service->IsEngagementAtLeast( 440 DCHECK(site_engagement_service->IsEngagementAtLeast(
439 origin, SiteEngagementService::ENGAGEMENT_LEVEL_MEDIUM)); 441 origin, SiteEngagementService::ENGAGEMENT_LEVEL_MEDIUM));
440 } 442 }
OLDNEW
« no previous file with comments | « chrome/browser/engagement/important_sites_util.h ('k') | chrome/browser/engagement/important_sites_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698