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

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

Issue 2748103011: Grant origins engagement for having interactions on their notifications. (Closed)
Patch Set: Unfriend Created 3 years, 9 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 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 GURL origin(site.primary_pattern.ToString()); 148 GURL origin(site.primary_pattern.ToString());
149 if (!origin.is_valid()) 149 if (!origin.is_valid())
150 continue; 150 continue;
151 151
152 score_map[origin] = GetScore(origin); 152 score_map[origin] = GetScore(origin);
153 } 153 }
154 154
155 return score_map; 155 return score_map;
156 } 156 }
157 157
158 void SiteEngagementService::HandleNotificationInteraction(const GURL& url) {
159 if (!ShouldRecordEngagement(url))
160 return;
161
162 SiteEngagementMetrics::RecordEngagement(
163 SiteEngagementMetrics::ENGAGEMENT_NOTIFICATION_INTERACTION);
164 AddPoints(url, SiteEngagementScore::GetNotificationInteractionPoints());
165
166 RecordMetrics();
167 double score = GetScore(url);
168 for (SiteEngagementObserver& observer : observer_list_)
169 observer.OnEngagementIncreased(nullptr /* web_contents */, url, score);
170 }
171
158 bool SiteEngagementService::IsBootstrapped() const { 172 bool SiteEngagementService::IsBootstrapped() const {
159 return GetTotalEngagementPoints() >= 173 return GetTotalEngagementPoints() >=
160 SiteEngagementScore::GetBootstrapPoints(); 174 SiteEngagementScore::GetBootstrapPoints();
161 } 175 }
162 176
163 bool SiteEngagementService::IsEngagementAtLeast( 177 bool SiteEngagementService::IsEngagementAtLeast(
164 const GURL& url, 178 const GURL& url,
165 blink::mojom::EngagementLevel level) const { 179 blink::mojom::EngagementLevel level) const {
166 DCHECK_LT(SiteEngagementScore::GetMediumEngagementBoundary(), 180 DCHECK_LT(SiteEngagementScore::GetMediumEngagementBoundary(),
167 SiteEngagementScore::GetHighEngagementBoundary()); 181 SiteEngagementScore::GetHighEngagementBoundary());
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 if (!ShouldRecordEngagement(url)) 482 if (!ShouldRecordEngagement(url))
469 return; 483 return;
470 484
471 SiteEngagementMetrics::RecordEngagement( 485 SiteEngagementMetrics::RecordEngagement(
472 is_hidden ? SiteEngagementMetrics::ENGAGEMENT_MEDIA_HIDDEN 486 is_hidden ? SiteEngagementMetrics::ENGAGEMENT_MEDIA_HIDDEN
473 : SiteEngagementMetrics::ENGAGEMENT_MEDIA_VISIBLE); 487 : SiteEngagementMetrics::ENGAGEMENT_MEDIA_VISIBLE);
474 AddPoints(url, is_hidden ? SiteEngagementScore::GetHiddenMediaPoints() 488 AddPoints(url, is_hidden ? SiteEngagementScore::GetHiddenMediaPoints()
475 : SiteEngagementScore::GetVisibleMediaPoints()); 489 : SiteEngagementScore::GetVisibleMediaPoints());
476 490
477 RecordMetrics(); 491 RecordMetrics();
492 double score = GetScore(url);
478 for (SiteEngagementObserver& observer : observer_list_) 493 for (SiteEngagementObserver& observer : observer_list_)
479 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); 494 observer.OnEngagementIncreased(web_contents, url, score);
480 } 495 }
481 496
482 void SiteEngagementService::HandleNavigation(content::WebContents* web_contents, 497 void SiteEngagementService::HandleNavigation(content::WebContents* web_contents,
483 ui::PageTransition transition) { 498 ui::PageTransition transition) {
484 const GURL& url = web_contents->GetLastCommittedURL(); 499 const GURL& url = web_contents->GetLastCommittedURL();
485 if (!IsEngagementNavigation(transition) || !ShouldRecordEngagement(url)) 500 if (!IsEngagementNavigation(transition) || !ShouldRecordEngagement(url))
486 return; 501 return;
487 502
488 SiteEngagementMetrics::RecordEngagement( 503 SiteEngagementMetrics::RecordEngagement(
489 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION); 504 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION);
490 AddPoints(url, SiteEngagementScore::GetNavigationPoints()); 505 AddPoints(url, SiteEngagementScore::GetNavigationPoints());
491 506
492 RecordMetrics(); 507 RecordMetrics();
508 double score = GetScore(url);
493 for (SiteEngagementObserver& observer : observer_list_) 509 for (SiteEngagementObserver& observer : observer_list_)
494 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); 510 observer.OnEngagementIncreased(web_contents, url, score);
495 } 511 }
496 512
497 void SiteEngagementService::HandleUserInput( 513 void SiteEngagementService::HandleUserInput(
498 content::WebContents* web_contents, 514 content::WebContents* web_contents,
499 SiteEngagementMetrics::EngagementType type) { 515 SiteEngagementMetrics::EngagementType type) {
500 const GURL& url = web_contents->GetLastCommittedURL(); 516 const GURL& url = web_contents->GetLastCommittedURL();
501 if (!ShouldRecordEngagement(url)) 517 if (!ShouldRecordEngagement(url))
502 return; 518 return;
503 519
504 SiteEngagementMetrics::RecordEngagement(type); 520 SiteEngagementMetrics::RecordEngagement(type);
505 AddPoints(url, SiteEngagementScore::GetUserInputPoints()); 521 AddPoints(url, SiteEngagementScore::GetUserInputPoints());
506 522
507 RecordMetrics(); 523 RecordMetrics();
524 double score = GetScore(url);
508 for (SiteEngagementObserver& observer : observer_list_) 525 for (SiteEngagementObserver& observer : observer_list_)
509 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); 526 observer.OnEngagementIncreased(web_contents, url, score);
510 } 527 }
511 528
512 void SiteEngagementService::SendLevelChangeToHelpers( 529 void SiteEngagementService::SendLevelChangeToHelpers(
513 const GURL& url, 530 const GURL& url,
514 blink::mojom::EngagementLevel level) { 531 blink::mojom::EngagementLevel level) {
515 for (SiteEngagementService::Helper* helper : helpers_) 532 for (SiteEngagementService::Helper* helper : helpers_)
516 helper->OnEngagementLevelChanged(url, level); 533 helper->OnEngagementLevelChanged(url, level);
517 } 534 }
518 535
519 bool SiteEngagementService::IsLastEngagementStale() const { 536 bool SiteEngagementService::IsLastEngagementStale() const {
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 if (!engagement_score.last_shortcut_launch_time().is_null() && 665 if (!engagement_score.last_shortcut_launch_time().is_null() &&
649 engagement_score.last_shortcut_launch_time() > last_visit) { 666 engagement_score.last_shortcut_launch_time() > last_visit) {
650 engagement_score.set_last_shortcut_launch_time(last_visit); 667 engagement_score.set_last_shortcut_launch_time(last_visit);
651 } 668 }
652 669
653 engagement_score.Commit(); 670 engagement_score.Commit();
654 } 671 }
655 672
656 SetLastEngagementTime(now); 673 SetLastEngagementTime(now);
657 } 674 }
OLDNEW
« no previous file with comments | « chrome/browser/engagement/site_engagement_service.h ('k') | chrome/browser/engagement/site_engagement_service_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698