Index: chrome/browser/engagement/site_engagement_service_browsertest.cc |
diff --git a/chrome/browser/engagement/site_engagement_service_browsertest.cc b/chrome/browser/engagement/site_engagement_service_browsertest.cc |
index 096ea82dbb4bef9b01a61318c63baa7368860dee..2c82e771aa6be5e9858926e2535177d8a7f1c44e 100644 |
--- a/chrome/browser/engagement/site_engagement_service_browsertest.cc |
+++ b/chrome/browser/engagement/site_engagement_service_browsertest.cc |
@@ -6,6 +6,7 @@ |
#include "base/run_loop.h" |
#include "base/single_thread_task_runner.h" |
#include "base/task_runner.h" |
+#include "base/test/histogram_tester.h" |
#include "base/test/simple_test_clock.h" |
#include "base/thread_task_runner_handle.h" |
#include "base/timer/mock_timer.h" |
@@ -32,8 +33,8 @@ class TestSiteEngagementHelper : public SiteEngagementHelper { |
~TestSiteEngagementHelper() override { } |
- void RecordUserInput() override { |
- SiteEngagementHelper::RecordUserInput(); |
+ void RecordUserInput(SiteEngagementMetrics::EngagementType type) override { |
+ SiteEngagementHelper::RecordUserInput(type); |
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, quit_closure_); |
} |
@@ -209,9 +210,19 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest, |
SiteEngagementServiceFactory::GetForProfile(browser()->profile()); |
DCHECK(service); |
+ base::HistogramTester histograms; |
+ |
+ // Histograms should start off empty. |
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ 0); |
+ |
ui_test_utils::NavigateToURL(browser(), url1); |
EXPECT_DOUBLE_EQ(0.5, service->GetScore(url1)); |
EXPECT_EQ(0, service->GetScore(url2)); |
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ 1); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); |
HandleKeyPress(helper.get(), ui::VKEY_UP); |
HandleKeyPress(helper.get(), ui::VKEY_RETURN); |
@@ -222,6 +233,14 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest, |
EXPECT_DOUBLE_EQ(0.7, service->GetScore(url1)); |
EXPECT_EQ(0, service->GetScore(url2)); |
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ 5); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 3); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1); |
HandleMouseEvent(helper.get(), blink::WebMouseEvent::ButtonRight, |
blink::WebInputEvent::MouseDown); |
@@ -232,6 +251,10 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest, |
EXPECT_DOUBLE_EQ(0.85, service->GetScore(url1)); |
EXPECT_EQ(0, service->GetScore(url2)); |
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ 8); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 4); |
ui_test_utils::NavigateToURL(browser(), url2); |
@@ -246,6 +269,14 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest, |
EXPECT_DOUBLE_EQ(0.85, service->GetScore(url1)); |
EXPECT_DOUBLE_EQ(0.6, service->GetScore(url2)); |
EXPECT_DOUBLE_EQ(1.45, service->GetTotalEngagementPoints()); |
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ 11); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 2); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 4); |
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 5); |
} |
IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest, |