| 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 |