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

Unified Diff: chrome/browser/engagement/site_engagement_helper.cc

Issue 1368533004: Add UMA metrics to the site engagement service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@time-on-site
Patch Set: Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/engagement/site_engagement_helper.cc
diff --git a/chrome/browser/engagement/site_engagement_helper.cc b/chrome/browser/engagement/site_engagement_helper.cc
index a1f83736780589f22a5bc6319c84fc925f902727..1d52a82c7d112850de13fcd76fa7ccc0bb5bdffd 100644
--- a/chrome/browser/engagement/site_engagement_helper.cc
+++ b/chrome/browser/engagement/site_engagement_helper.cc
@@ -47,7 +47,7 @@ bool SiteEngagementHelper::InputTracker::HandleKeyPressEvent(
// (e.g. keypress is a key down then key up).
if (event.type == blink::WebInputEvent::RawKeyDown) {
PauseTracking(helper_->web_contents()->GetRenderViewHost());
- helper_->RecordUserInput();
+ helper_->RecordUserInput(SiteEngagementMetrics::ENGAGEMENT_KEYPRESS);
}
return false;
}
@@ -61,7 +61,7 @@ bool SiteEngagementHelper::InputTracker::HandleMouseEvent(
event.type == blink::WebInputEvent::MouseDown) ||
event.type == blink::WebInputEvent::MouseWheel) {
PauseTracking(helper_->web_contents()->GetRenderViewHost());
- helper_->RecordUserInput();
+ helper_->RecordUserInput(SiteEngagementMetrics::ENGAGEMENT_MOUSE);
}
return false;
}
@@ -125,7 +125,8 @@ SiteEngagementHelper::SiteEngagementHelper(content::WebContents* contents)
input_tracker_(new InputTracker(this)),
record_engagement_(false) { }
-void SiteEngagementHelper::RecordUserInput() {
+void SiteEngagementHelper::RecordUserInput(
+ SiteEngagementMetrics::EngagementType type) {
TRACE_EVENT0("SiteEngagement", "RecordUserInput");
content::WebContents* contents = web_contents();
if (contents) {
@@ -136,6 +137,7 @@ void SiteEngagementHelper::RecordUserInput() {
// Service is null in incognito.
if (service) {
+ SiteEngagementMetrics::RecordEngagement(type);
service->HandleUserInput(contents->GetVisibleURL());
FOR_EACH_OBSERVER(Observer, observer_list_, OnInputRecorded(this));
}
@@ -159,8 +161,11 @@ void SiteEngagementHelper::DidNavigateMainFrame(
SiteEngagementService* service =
SiteEngagementServiceFactory::GetForProfile(profile);
- if (service)
+ if (service) {
+ SiteEngagementMetrics::RecordEngagement(
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION);
calamity 2015/09/25 07:08:33 I think we should do this in HandleNavigation() in
dominickn 2015/09/28 03:34:50 It would be inconsistent to have the user input UM
calamity 2015/09/28 07:33:47 Hmm, I'd prefer all our logging take place in the
service->HandleNavigation(params.url, params.transition);
+ }
input_tracker_->StartTracking(contents->GetRenderViewHost());
}

Powered by Google App Engine
This is Rietveld 408576698