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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/test/histogram_tester.h" | 6 #include "base/test/histogram_tester.h" |
7 #include "base/timer/mock_timer.h" | 7 #include "base/timer/mock_timer.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/engagement/site_engagement_helper.h" | 9 #include "chrome/browser/engagement/site_engagement_helper.h" |
10 #include "chrome/browser/engagement/site_engagement_service.h" | 10 #include "chrome/browser/engagement/site_engagement_service.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 EXPECT_DOUBLE_EQ(0.7, service->GetScore(url1)); | 111 EXPECT_DOUBLE_EQ(0.7, service->GetScore(url1)); |
112 EXPECT_DOUBLE_EQ(0.55, service->GetScore(url2)); | 112 EXPECT_DOUBLE_EQ(0.55, service->GetScore(url2)); |
113 EXPECT_DOUBLE_EQ(1.25, service->GetTotalEngagementPoints()); | 113 EXPECT_DOUBLE_EQ(1.25, service->GetTotalEngagementPoints()); |
114 } | 114 } |
115 }; | 115 }; |
116 | 116 |
117 TEST_F(SiteEngagementHelperTest, KeyPressEngagementAccumulation) { | 117 TEST_F(SiteEngagementHelperTest, KeyPressEngagementAccumulation) { |
118 UserInputAccumulation(blink::WebInputEvent::RawKeyDown); | 118 UserInputAccumulation(blink::WebInputEvent::RawKeyDown); |
119 } | 119 } |
120 | 120 |
121 TEST_F(SiteEngagementHelperTest, MouseEventEngagementAccumulation) { | 121 TEST_F(SiteEngagementHelperTest, MouseDownEventEngagementAccumulation) { |
122 UserInputAccumulation(blink::WebInputEvent::MouseDown); | 122 UserInputAccumulation(blink::WebInputEvent::MouseDown); |
123 } | 123 } |
124 | 124 |
| 125 TEST_F(SiteEngagementHelperTest, MouseWheelEventEngagementAccumulation) { |
| 126 UserInputAccumulation(blink::WebInputEvent::MouseWheel); |
| 127 } |
| 128 |
125 TEST_F(SiteEngagementHelperTest, GestureEngagementAccumulation) { | 129 TEST_F(SiteEngagementHelperTest, GestureEngagementAccumulation) { |
126 UserInputAccumulation(blink::WebInputEvent::GestureTapDown); | 130 UserInputAccumulation(blink::WebInputEvent::GestureTapDown); |
127 } | 131 } |
128 | 132 |
129 TEST_F(SiteEngagementHelperTest, MixedInputEngagementAccumulation) { | 133 TEST_F(SiteEngagementHelperTest, MixedInputEngagementAccumulation) { |
130 AddTab(browser(), GURL("about:blank")); | 134 AddTab(browser(), GURL("about:blank")); |
131 GURL url1("https://www.google.com/"); | 135 GURL url1("https://www.google.com/"); |
132 GURL url2("http://www.google.com/"); | 136 GURL url2("http://www.google.com/"); |
133 content::WebContents* web_contents = | 137 content::WebContents* web_contents = |
134 browser()->tab_strip_model()->GetActiveWebContents(); | 138 browser()->tab_strip_model()->GetActiveWebContents(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); | 177 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); |
174 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 178 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
175 SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 2); | 179 SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 2); |
176 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 180 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
177 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1); | 181 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1); |
178 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 182 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
179 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE, | 183 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE, |
180 2); | 184 2); |
181 | 185 |
182 HandleUserInputAndRestartTracking(helper.get(), | 186 HandleUserInputAndRestartTracking(helper.get(), |
183 blink::WebInputEvent::MouseDown); | 187 blink::WebInputEvent::MouseWheel); |
184 HandleUserInputAndRestartTracking(helper.get(), | 188 HandleUserInputAndRestartTracking(helper.get(), |
185 blink::WebInputEvent::MouseDown); | 189 blink::WebInputEvent::MouseDown); |
186 HandleUserInputAndRestartTracking(helper.get(), | 190 HandleUserInputAndRestartTracking(helper.get(), |
187 blink::WebInputEvent::GestureTapDown); | 191 blink::WebInputEvent::GestureTapDown); |
188 | 192 |
189 EXPECT_DOUBLE_EQ(0.9, service->GetScore(url1)); | 193 EXPECT_DOUBLE_EQ(0.9, service->GetScore(url1)); |
190 EXPECT_EQ(0, service->GetScore(url2)); | 194 EXPECT_EQ(0, service->GetScore(url2)); |
191 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 195 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
192 9); | 196 9); |
193 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 197 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
194 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 3); | 198 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 2); |
| 199 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
| 200 SiteEngagementMetrics::ENGAGEMENT_WHEEL, 1); |
195 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, | 201 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, |
196 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE, | 202 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE, |
197 3); | 203 3); |
198 | 204 |
199 NavigateWithDisposition(url2, CURRENT_TAB); | 205 NavigateWithDisposition(url2, CURRENT_TAB); |
200 StartTracking(helper.get()); | 206 StartTracking(helper.get()); |
201 | 207 |
202 EXPECT_DOUBLE_EQ(0.9, service->GetScore(url1)); | 208 EXPECT_DOUBLE_EQ(0.9, service->GetScore(url1)); |
203 EXPECT_DOUBLE_EQ(0.5, service->GetScore(url2)); | 209 EXPECT_DOUBLE_EQ(0.5, service->GetScore(url2)); |
204 EXPECT_DOUBLE_EQ(1.4, service->GetTotalEngagementPoints()); | 210 EXPECT_DOUBLE_EQ(1.4, service->GetTotalEngagementPoints()); |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 // When the timer fires, callbacks are added. | 359 // When the timer fires, callbacks are added. |
354 input_tracker_timer->Fire(); | 360 input_tracker_timer->Fire(); |
355 EXPECT_FALSE(input_tracker_timer->IsRunning()); | 361 EXPECT_FALSE(input_tracker_timer->IsRunning()); |
356 EXPECT_TRUE(IsTracking(helper.get())); | 362 EXPECT_TRUE(IsTracking(helper.get())); |
357 | 363 |
358 // Navigation should start the initial delay timer again. | 364 // Navigation should start the initial delay timer again. |
359 NavigateWithDisposition(url1, CURRENT_TAB); | 365 NavigateWithDisposition(url1, CURRENT_TAB); |
360 EXPECT_TRUE(input_tracker_timer->IsRunning()); | 366 EXPECT_TRUE(input_tracker_timer->IsRunning()); |
361 EXPECT_FALSE(IsTracking(helper.get())); | 367 EXPECT_FALSE(IsTracking(helper.get())); |
362 } | 368 } |
OLD | NEW |