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

Side by Side Diff: content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc

Issue 2360963003: Revert "Touchpad scroll latching enabled for Mac behind flag." (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/renderer_host/input/mouse_wheel_event_queue.h" 5 #include "content/browser/renderer_host/input/mouse_wheel_event_queue.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 const WebGestureEvent::ScrollUnits scroll_units = 311 const WebGestureEvent::ScrollUnits scroll_units =
312 high_precision ? WebGestureEvent::PrecisePixels 312 high_precision ? WebGestureEvent::PrecisePixels
313 : WebGestureEvent::Pixels; 313 : WebGestureEvent::Pixels;
314 314
315 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 315 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
316 kWheelScrollGlobalY, 1, 1, 0, high_precision, 316 kWheelScrollGlobalY, 1, 1, 0, high_precision,
317 WebMouseWheelEvent::PhaseBegan, 317 WebMouseWheelEvent::PhaseBegan,
318 WebMouseWheelEvent::PhaseNone); 318 WebMouseWheelEvent::PhaseNone);
319 EXPECT_EQ(1U, GetAndResetSentEventCount()); 319 EXPECT_EQ(1U, GetAndResetSentEventCount());
320 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 320 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
321 if (scroll_latching_enabled_) { 321 EXPECT_EQ(3U, all_sent_events().size());
322 EXPECT_EQ(2U, all_sent_events().size()); 322 EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0));
323 EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); 323 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1));
324 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); 324 EXPECT_SYNTHETIC_GESTURE_SCROLL_END(sent_gesture_event(2));
325 EXPECT_EQ(2U, GetAndResetSentEventCount()); 325 EXPECT_EQ(3U, GetAndResetSentEventCount());
326 } else {
327 EXPECT_EQ(3U, all_sent_events().size());
328 EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0));
329 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1));
330 EXPECT_SYNTHETIC_GESTURE_SCROLL_END(sent_gesture_event(2));
331 EXPECT_EQ(3U, GetAndResetSentEventCount());
332 }
333 326
334 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 327 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
335 kWheelScrollGlobalY, 5, 5, 0, high_precision, 328 kWheelScrollGlobalY, 5, 5, 0, high_precision,
336 WebMouseWheelEvent::PhaseChanged, 329 WebMouseWheelEvent::PhaseChanged,
337 WebMouseWheelEvent::PhaseNone); 330 WebMouseWheelEvent::PhaseNone);
338 EXPECT_EQ(1U, GetAndResetSentEventCount()); 331 EXPECT_EQ(1U, GetAndResetSentEventCount());
339 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 332 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
340 if (scroll_latching_enabled_) { 333 EXPECT_EQ(3U, all_sent_events().size());
341 EXPECT_EQ(1U, all_sent_events().size()); 334 EXPECT_SYNTHETIC_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
342 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(0)); 335 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1));
343 EXPECT_EQ(1U, GetAndResetSentEventCount()); 336 EXPECT_SYNTHETIC_GESTURE_SCROLL_END(sent_gesture_event(2));
344 } else { 337 EXPECT_EQ(3U, GetAndResetSentEventCount());
345 EXPECT_EQ(3U, all_sent_events().size()); 338
346 EXPECT_SYNTHETIC_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
347 EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1));
348 EXPECT_SYNTHETIC_GESTURE_SCROLL_END(sent_gesture_event(2));
349 EXPECT_EQ(3U, GetAndResetSentEventCount());
350 }
351 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 339 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
352 kWheelScrollGlobalY, 0, 0, 0, high_precision, 340 kWheelScrollGlobalY, 0, 0, 0, high_precision,
353 WebMouseWheelEvent::PhaseEnded, 341 WebMouseWheelEvent::PhaseEnded,
354 WebMouseWheelEvent::PhaseNone); 342 WebMouseWheelEvent::PhaseNone);
355 EXPECT_EQ(1U, GetAndResetSentEventCount()); 343 EXPECT_EQ(1U, GetAndResetSentEventCount());
356 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 344 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
357 if (scroll_latching_enabled_) { 345 EXPECT_EQ(2U, all_sent_events().size());
358 EXPECT_EQ(1U, all_sent_events().size()); 346 EXPECT_SYNTHETIC_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
359 EXPECT_GESTURE_SCROLL_END_WITH_PHASE(sent_gesture_event(0)); 347 EXPECT_GESTURE_SCROLL_END_WITH_PHASE(sent_gesture_event(1));
360 EXPECT_EQ(1U, GetAndResetSentEventCount()); 348 EXPECT_EQ(2U, GetAndResetSentEventCount());
361 } else {
362 EXPECT_EQ(2U, all_sent_events().size());
363 EXPECT_SYNTHETIC_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
364 EXPECT_GESTURE_SCROLL_END_WITH_PHASE(sent_gesture_event(1));
365 EXPECT_EQ(2U, GetAndResetSentEventCount());
366 }
367 349
368 // Send a double phase end; OSX does it consistently. 350 // Send a double phase end; OSX does it consistently.
369 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 351 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
370 kWheelScrollGlobalY, 0, 0, 0, high_precision, 352 kWheelScrollGlobalY, 0, 0, 0, high_precision,
371 WebMouseWheelEvent::PhaseEnded, 353 WebMouseWheelEvent::PhaseEnded,
372 WebMouseWheelEvent::PhaseNone); 354 WebMouseWheelEvent::PhaseNone);
373 EXPECT_EQ(1U, GetAndResetSentEventCount()); 355 EXPECT_EQ(1U, GetAndResetSentEventCount());
374 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 356 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
375 EXPECT_EQ(0U, all_sent_events().size()); 357 EXPECT_EQ(0U, all_sent_events().size());
376 EXPECT_EQ(0U, GetAndResetSentEventCount()); 358 EXPECT_EQ(0U, GetAndResetSentEventCount());
377 359
378 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 360 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
379 kWheelScrollGlobalY, 5, 5, 0, high_precision, 361 kWheelScrollGlobalY, 5, 5, 0, high_precision,
380 WebMouseWheelEvent::PhaseNone, 362 WebMouseWheelEvent::PhaseNone,
381 WebMouseWheelEvent::PhaseBegan); 363 WebMouseWheelEvent::PhaseBegan);
382 EXPECT_EQ(1U, GetAndResetSentEventCount()); 364 EXPECT_EQ(1U, GetAndResetSentEventCount());
383 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 365 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
384 if (scroll_latching_enabled_) { 366 EXPECT_EQ(3U, all_sent_events().size());
385 EXPECT_EQ(2U, all_sent_events().size()); 367 EXPECT_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
386 EXPECT_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); 368 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
387 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); 369 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(2));
388 EXPECT_EQ(2U, GetAndResetSentEventCount()); 370 EXPECT_EQ(3U, GetAndResetSentEventCount());
389 } else {
390 EXPECT_EQ(3U, all_sent_events().size());
391 EXPECT_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
392 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
393 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(2));
394 EXPECT_EQ(3U, GetAndResetSentEventCount());
395 }
396 371
397 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 372 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
398 kWheelScrollGlobalY, 5, 5, 0, high_precision, 373 kWheelScrollGlobalY, 5, 5, 0, high_precision,
399 WebMouseWheelEvent::PhaseNone, 374 WebMouseWheelEvent::PhaseNone,
400 WebMouseWheelEvent::PhaseChanged); 375 WebMouseWheelEvent::PhaseChanged);
401 EXPECT_EQ(1U, GetAndResetSentEventCount()); 376 EXPECT_EQ(1U, GetAndResetSentEventCount());
402 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 377 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
403 if (scroll_latching_enabled_) { 378 EXPECT_EQ(3U, all_sent_events().size());
404 EXPECT_EQ(1U, all_sent_events().size()); 379 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
405 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(0)); 380 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
406 EXPECT_EQ(1U, GetAndResetSentEventCount()); 381 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(2));
407 } else { 382 EXPECT_EQ(3U, GetAndResetSentEventCount());
408 EXPECT_EQ(3U, all_sent_events().size());
409 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
410 EXPECT_INERTIAL_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
411 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(2));
412 EXPECT_EQ(3U, GetAndResetSentEventCount());
413 }
414 383
415 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 384 SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
416 kWheelScrollGlobalY, 0, 0, 0, high_precision, 385 kWheelScrollGlobalY, 0, 0, 0, high_precision,
417 WebMouseWheelEvent::PhaseNone, 386 WebMouseWheelEvent::PhaseNone,
418 WebMouseWheelEvent::PhaseEnded); 387 WebMouseWheelEvent::PhaseEnded);
419 EXPECT_EQ(1U, GetAndResetSentEventCount()); 388 EXPECT_EQ(1U, GetAndResetSentEventCount());
420 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 389 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
421 if (scroll_latching_enabled_) { 390 EXPECT_EQ(2U, all_sent_events().size());
422 EXPECT_EQ(1U, all_sent_events().size()); 391 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
423 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(0)); 392 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(1));
424 EXPECT_EQ(1U, GetAndResetSentEventCount()); 393 EXPECT_EQ(2U, GetAndResetSentEventCount());
425 } else {
426 EXPECT_EQ(2U, all_sent_events().size());
427 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
428 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(1));
429 EXPECT_EQ(2U, GetAndResetSentEventCount());
430 }
431 } 394 }
432 395
433 std::unique_ptr<MouseWheelEventQueue> queue_; 396 std::unique_ptr<MouseWheelEventQueue> queue_;
434 std::vector<std::unique_ptr<WebInputEvent>> sent_events_; 397 std::vector<std::unique_ptr<WebInputEvent>> sent_events_;
435 size_t acked_event_count_; 398 size_t acked_event_count_;
436 InputEventAckState last_acked_event_state_; 399 InputEventAckState last_acked_event_state_;
437 base::MessageLoopForUI message_loop_; 400 base::MessageLoopForUI message_loop_;
438 WebMouseWheelEvent last_acked_event_; 401 WebMouseWheelEvent last_acked_event_;
439 int64_t scroll_end_timeout_ms_; 402 int64_t scroll_end_timeout_ms_;
440 bool scroll_latching_enabled_; 403 bool scroll_latching_enabled_;
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 EXPECT_EQ(1U, sent_gesture_event(updateEventIndex)->data.scrollUpdate.deltaY); 622 EXPECT_EQ(1U, sent_gesture_event(updateEventIndex)->data.scrollUpdate.deltaY);
660 EXPECT_EQ(static_cast<size_t>(updateEventIndex + 1), 623 EXPECT_EQ(static_cast<size_t>(updateEventIndex + 1),
661 GetAndResetSentEventCount()); 624 GetAndResetSentEventCount());
662 } 625 }
663 626
664 INSTANTIATE_TEST_CASE_P(MouseWheelEventQueueTests, 627 INSTANTIATE_TEST_CASE_P(MouseWheelEventQueueTests,
665 MouseWheelEventQueueTest, 628 MouseWheelEventQueueTest,
666 testing::Bool()); 629 testing::Bool());
667 630
668 } // namespace content 631 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/input/mouse_wheel_event_queue.cc ('k') | ui/events/blink/input_handler_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698