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

Side by Side Diff: chrome/browser/engagement/site_engagement_helper_unittest.cc

Issue 2411143003: Make WebContentsObserver::DidGetUserInteraction fire on TouchStart instead of GestureTapBegin. (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
OLDNEW
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_helper.h" 5 #include "chrome/browser/engagement/site_engagement_helper.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/test/histogram_tester.h" 8 #include "base/test/histogram_tester.h"
9 #include "base/timer/mock_timer.h" 9 #include "base/timer/mock_timer.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 } 144 }
145 145
146 TEST_F(SiteEngagementHelperTest, MouseDownEventEngagementAccumulation) { 146 TEST_F(SiteEngagementHelperTest, MouseDownEventEngagementAccumulation) {
147 UserInputAccumulation(blink::WebInputEvent::MouseDown); 147 UserInputAccumulation(blink::WebInputEvent::MouseDown);
148 } 148 }
149 149
150 TEST_F(SiteEngagementHelperTest, ScrollEventEngagementAccumulation) { 150 TEST_F(SiteEngagementHelperTest, ScrollEventEngagementAccumulation) {
151 UserInputAccumulation(blink::WebInputEvent::GestureScrollBegin); 151 UserInputAccumulation(blink::WebInputEvent::GestureScrollBegin);
152 } 152 }
153 153
154 TEST_F(SiteEngagementHelperTest, GestureEngagementAccumulation) { 154 TEST_F(SiteEngagementHelperTest, TouchEngagementAccumulation) {
155 UserInputAccumulation(blink::WebInputEvent::GestureTapDown); 155 UserInputAccumulation(blink::WebInputEvent::TouchStart);
156 } 156 }
157 157
158 TEST_F(SiteEngagementHelperTest, MediaEngagementAccumulation) { 158 TEST_F(SiteEngagementHelperTest, MediaEngagementAccumulation) {
159 GURL url1("https://www.google.com/"); 159 GURL url1("https://www.google.com/");
160 GURL url2("http://www.google.com/"); 160 GURL url2("http://www.google.com/");
161 content::WebContents* contents = web_contents(); 161 content::WebContents* contents = web_contents();
162 162
163 SiteEngagementService::Helper* helper = GetHelper(contents); 163 SiteEngagementService::Helper* helper = GetHelper(contents);
164 SiteEngagementService* service = SiteEngagementService::Get(profile()); 164 SiteEngagementService* service = SiteEngagementService::Get(profile());
165 DCHECK(service); 165 DCHECK(service);
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, 301 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
302 2); 302 2);
303 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 303 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
304 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); 304 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1);
305 histograms.ExpectBucketCount( 305 histograms.ExpectBucketCount(
306 SiteEngagementMetrics::kEngagementTypeHistogram, 306 SiteEngagementMetrics::kEngagementTypeHistogram,
307 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1); 307 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1);
308 308
309 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown); 309 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown);
310 HandleUserInputAndRestartTracking(helper, 310 HandleUserInputAndRestartTracking(helper,
311 blink::WebInputEvent::GestureTapDown); 311 blink::WebInputEvent::TouchStart);
312 HandleUserInputAndRestartTracking(helper, 312 HandleUserInputAndRestartTracking(helper,
313 blink::WebInputEvent::GestureTapDown); 313 blink::WebInputEvent::TouchStart);
314 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown); 314 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown);
315 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::MouseDown); 315 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::MouseDown);
316 316
317 EXPECT_DOUBLE_EQ(0.75, service->GetScore(url1)); 317 EXPECT_DOUBLE_EQ(0.75, service->GetScore(url1));
318 EXPECT_EQ(0, service->GetScore(url2)); 318 EXPECT_EQ(0, service->GetScore(url2));
319 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, 319 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
320 7); 320 7);
321 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 321 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
322 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1); 322 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1);
323 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 323 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
324 SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 2); 324 SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 2);
325 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 325 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
326 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1); 326 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1);
327 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 327 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
328 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE, 328 SiteEngagementMetrics::ENGAGEMENT_TOUCH_GESTURE,
329 2); 329 2);
330 histograms.ExpectBucketCount( 330 histograms.ExpectBucketCount(
331 SiteEngagementMetrics::kEngagementTypeHistogram, 331 SiteEngagementMetrics::kEngagementTypeHistogram,
332 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1); 332 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1);
333 333
334 HandleUserInputAndRestartTracking(helper, 334 HandleUserInputAndRestartTracking(helper,
335 blink::WebInputEvent::GestureScrollBegin); 335 blink::WebInputEvent::GestureScrollBegin);
336 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::MouseDown); 336 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::MouseDown);
337 HandleMediaPlaying(helper, true); 337 HandleMediaPlaying(helper, true);
338 HandleUserInputAndRestartTracking(helper, 338 HandleUserInputAndRestartTracking(helper,
339 blink::WebInputEvent::GestureTapDown); 339 blink::WebInputEvent::TouchStart);
340 HandleMediaPlaying(helper, false); 340 HandleMediaPlaying(helper, false);
341 341
342 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1)); 342 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1));
343 EXPECT_EQ(0, service->GetScore(url2)); 343 EXPECT_EQ(0, service->GetScore(url2));
344 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, 344 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
345 12); 345 12);
346 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 346 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
347 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 2); 347 SiteEngagementMetrics::ENGAGEMENT_MOUSE, 2);
348 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 348 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
349 SiteEngagementMetrics::ENGAGEMENT_SCROLL, 1); 349 SiteEngagementMetrics::ENGAGEMENT_SCROLL, 1);
(...skipping 11 matching lines...) Expand all
361 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1); 361 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 1);
362 362
363 Navigate(url2); 363 Navigate(url2);
364 TrackingStarted(helper); 364 TrackingStarted(helper);
365 365
366 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1)); 366 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1));
367 EXPECT_DOUBLE_EQ(0.5, service->GetScore(url2)); 367 EXPECT_DOUBLE_EQ(0.5, service->GetScore(url2));
368 EXPECT_DOUBLE_EQ(1.43, service->GetTotalEngagementPoints()); 368 EXPECT_DOUBLE_EQ(1.43, service->GetTotalEngagementPoints());
369 369
370 HandleUserInputAndRestartTracking(helper, 370 HandleUserInputAndRestartTracking(helper,
371 blink::WebInputEvent::GestureTapDown); 371 blink::WebInputEvent::TouchStart);
372 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown); 372 HandleUserInputAndRestartTracking(helper, blink::WebInputEvent::RawKeyDown);
373 373
374 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1)); 374 EXPECT_DOUBLE_EQ(0.93, service->GetScore(url1));
375 EXPECT_DOUBLE_EQ(0.6, service->GetScore(url2)); 375 EXPECT_DOUBLE_EQ(0.6, service->GetScore(url2));
376 EXPECT_DOUBLE_EQ(1.53, service->GetTotalEngagementPoints()); 376 EXPECT_DOUBLE_EQ(1.53, service->GetTotalEngagementPoints());
377 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram, 377 histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
378 16); 378 16);
379 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 379 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
380 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 2); 380 SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 2);
381 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram, 381 histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 434
435 EXPECT_DOUBLE_EQ(0.57, service->GetScore(url1)); 435 EXPECT_DOUBLE_EQ(0.57, service->GetScore(url1));
436 EXPECT_EQ(0, service->GetScore(url2)); 436 EXPECT_EQ(0, service->GetScore(url2));
437 437
438 input_tracker_timer->Fire(); 438 input_tracker_timer->Fire();
439 EXPECT_FALSE(input_tracker_timer->IsRunning()); 439 EXPECT_FALSE(input_tracker_timer->IsRunning());
440 EXPECT_TRUE(IsTrackingInput(helper)); 440 EXPECT_TRUE(IsTrackingInput(helper));
441 EXPECT_TRUE(media_tracker_timer->IsRunning()); 441 EXPECT_TRUE(media_tracker_timer->IsRunning());
442 442
443 // Timer should start running again after input. 443 // Timer should start running again after input.
444 HandleUserInput(helper, blink::WebInputEvent::GestureTapDown); 444 HandleUserInput(helper, blink::WebInputEvent::TouchStart);
445 EXPECT_TRUE(input_tracker_timer->IsRunning()); 445 EXPECT_TRUE(input_tracker_timer->IsRunning());
446 EXPECT_FALSE(IsTrackingInput(helper)); 446 EXPECT_FALSE(IsTrackingInput(helper));
447 EXPECT_TRUE(media_tracker_timer->IsRunning()); 447 EXPECT_TRUE(media_tracker_timer->IsRunning());
448 448
449 EXPECT_DOUBLE_EQ(0.62, service->GetScore(url1)); 449 EXPECT_DOUBLE_EQ(0.62, service->GetScore(url1));
450 EXPECT_EQ(0, service->GetScore(url2)); 450 EXPECT_EQ(0, service->GetScore(url2));
451 451
452 input_tracker_timer->Fire(); 452 input_tracker_timer->Fire();
453 EXPECT_FALSE(input_tracker_timer->IsRunning()); 453 EXPECT_FALSE(input_tracker_timer->IsRunning());
454 EXPECT_TRUE(IsTrackingInput(helper)); 454 EXPECT_TRUE(IsTrackingInput(helper));
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 // When the timer fires, callbacks are added. 569 // When the timer fires, callbacks are added.
570 input_tracker_timer->Fire(); 570 input_tracker_timer->Fire();
571 EXPECT_FALSE(input_tracker_timer->IsRunning()); 571 EXPECT_FALSE(input_tracker_timer->IsRunning());
572 EXPECT_TRUE(IsTrackingInput(helper)); 572 EXPECT_TRUE(IsTrackingInput(helper));
573 573
574 // Navigation should start the initial delay timer again. 574 // Navigation should start the initial delay timer again.
575 Navigate(url1); 575 Navigate(url1);
576 EXPECT_TRUE(input_tracker_timer->IsRunning()); 576 EXPECT_TRUE(input_tracker_timer->IsRunning());
577 EXPECT_FALSE(IsTrackingInput(helper)); 577 EXPECT_FALSE(IsTrackingInput(helper));
578 } 578 }
OLDNEW
« no previous file with comments | « chrome/browser/engagement/site_engagement_helper.cc ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698