OLD | NEW |
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 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 if (!ShouldRecordEngagement(url)) | 468 if (!ShouldRecordEngagement(url)) |
469 return; | 469 return; |
470 | 470 |
471 SiteEngagementMetrics::RecordEngagement( | 471 SiteEngagementMetrics::RecordEngagement( |
472 is_hidden ? SiteEngagementMetrics::ENGAGEMENT_MEDIA_HIDDEN | 472 is_hidden ? SiteEngagementMetrics::ENGAGEMENT_MEDIA_HIDDEN |
473 : SiteEngagementMetrics::ENGAGEMENT_MEDIA_VISIBLE); | 473 : SiteEngagementMetrics::ENGAGEMENT_MEDIA_VISIBLE); |
474 AddPoints(url, is_hidden ? SiteEngagementScore::GetHiddenMediaPoints() | 474 AddPoints(url, is_hidden ? SiteEngagementScore::GetHiddenMediaPoints() |
475 : SiteEngagementScore::GetVisibleMediaPoints()); | 475 : SiteEngagementScore::GetVisibleMediaPoints()); |
476 | 476 |
477 RecordMetrics(); | 477 RecordMetrics(); |
| 478 double score = GetScore(url); |
478 for (SiteEngagementObserver& observer : observer_list_) | 479 for (SiteEngagementObserver& observer : observer_list_) |
479 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); | 480 observer.OnEngagementIncreased(web_contents, url, score); |
480 } | 481 } |
481 | 482 |
482 void SiteEngagementService::HandleNavigation(content::WebContents* web_contents, | 483 void SiteEngagementService::HandleNavigation(content::WebContents* web_contents, |
483 ui::PageTransition transition) { | 484 ui::PageTransition transition) { |
484 const GURL& url = web_contents->GetLastCommittedURL(); | 485 const GURL& url = web_contents->GetLastCommittedURL(); |
485 if (!IsEngagementNavigation(transition) || !ShouldRecordEngagement(url)) | 486 if (!IsEngagementNavigation(transition) || !ShouldRecordEngagement(url)) |
486 return; | 487 return; |
487 | 488 |
488 SiteEngagementMetrics::RecordEngagement( | 489 SiteEngagementMetrics::RecordEngagement( |
489 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION); | 490 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION); |
490 AddPoints(url, SiteEngagementScore::GetNavigationPoints()); | 491 AddPoints(url, SiteEngagementScore::GetNavigationPoints()); |
491 | 492 |
492 RecordMetrics(); | 493 RecordMetrics(); |
| 494 double score = GetScore(url); |
493 for (SiteEngagementObserver& observer : observer_list_) | 495 for (SiteEngagementObserver& observer : observer_list_) |
494 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); | 496 observer.OnEngagementIncreased(web_contents, url, score); |
495 } | 497 } |
496 | 498 |
497 void SiteEngagementService::HandleUserInput( | 499 void SiteEngagementService::HandleUserInput( |
498 content::WebContents* web_contents, | 500 content::WebContents* web_contents, |
499 SiteEngagementMetrics::EngagementType type) { | 501 SiteEngagementMetrics::EngagementType type) { |
500 const GURL& url = web_contents->GetLastCommittedURL(); | 502 const GURL& url = web_contents->GetLastCommittedURL(); |
501 if (!ShouldRecordEngagement(url)) | 503 if (!ShouldRecordEngagement(url)) |
502 return; | 504 return; |
503 | 505 |
504 SiteEngagementMetrics::RecordEngagement(type); | 506 SiteEngagementMetrics::RecordEngagement(type); |
505 AddPoints(url, SiteEngagementScore::GetUserInputPoints()); | 507 AddPoints(url, SiteEngagementScore::GetUserInputPoints()); |
506 | 508 |
507 RecordMetrics(); | 509 RecordMetrics(); |
| 510 double score = GetScore(url); |
508 for (SiteEngagementObserver& observer : observer_list_) | 511 for (SiteEngagementObserver& observer : observer_list_) |
509 observer.OnEngagementIncreased(web_contents, url, GetScore(url)); | 512 observer.OnEngagementIncreased(web_contents, url, score); |
| 513 } |
| 514 |
| 515 void SiteEngagementService::HandleNotificationInteraction(const GURL& url) { |
| 516 if (!ShouldRecordEngagement(url)) |
| 517 return; |
| 518 |
| 519 SiteEngagementMetrics::RecordEngagement( |
| 520 SiteEngagementMetrics::ENGAGEMENT_NOTIFICATION_INTERACTION); |
| 521 AddPoints(url, SiteEngagementScore::GetNotificationInteractionPoints()); |
| 522 |
| 523 RecordMetrics(); |
| 524 double score = GetScore(url); |
| 525 for (SiteEngagementObserver& observer : observer_list_) |
| 526 observer.OnEngagementIncreased(nullptr, 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 Loading... |
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 } |
OLD | NEW |