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

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

Issue 2050033002: Revert of Remove enable/disable wheel gestures setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@can_scroll_remove
Patch Set: Created 4 years, 6 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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 EXPECT_EQ(WebInputEvent::MouseWheel, event->type); 138 EXPECT_EQ(WebInputEvent::MouseWheel, event->type);
139 139
140 } // namespace 140 } // namespace
141 141
142 class MouseWheelEventQueueTest : public testing::Test, 142 class MouseWheelEventQueueTest : public testing::Test,
143 public MouseWheelEventQueueClient { 143 public MouseWheelEventQueueClient {
144 public: 144 public:
145 MouseWheelEventQueueTest() 145 MouseWheelEventQueueTest()
146 : acked_event_count_(0), 146 : acked_event_count_(0),
147 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) { 147 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) {
148 queue_.reset(new MouseWheelEventQueue(this, kScrollEndTimeoutMs)); 148 SetUpForGestureTesting(false);
149 } 149 }
150 150
151 ~MouseWheelEventQueueTest() override {} 151 ~MouseWheelEventQueueTest() override {}
152 152
153 // MouseWheelEventQueueClient 153 // MouseWheelEventQueueClient
154 void SendMouseWheelEventImmediately( 154 void SendMouseWheelEventImmediately(
155 const MouseWheelEventWithLatencyInfo& event) override { 155 const MouseWheelEventWithLatencyInfo& event) override {
156 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent(); 156 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent();
157 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event); 157 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event);
158 *cloned_event = event.event; 158 *cloned_event = event.event;
(...skipping 10 matching lines...) Expand all
169 } 169 }
170 170
171 void OnMouseWheelEventAck(const MouseWheelEventWithLatencyInfo& event, 171 void OnMouseWheelEventAck(const MouseWheelEventWithLatencyInfo& event,
172 InputEventAckState ack_result) override { 172 InputEventAckState ack_result) override {
173 ++acked_event_count_; 173 ++acked_event_count_;
174 last_acked_event_ = event.event; 174 last_acked_event_ = event.event;
175 last_acked_event_state_ = ack_result; 175 last_acked_event_state_ = ack_result;
176 } 176 }
177 177
178 protected: 178 protected:
179 void SetUpForGestureTesting(bool send_gestures) {
180 queue_.reset(
181 new MouseWheelEventQueue(this, send_gestures, kScrollEndTimeoutMs));
182 }
183
179 size_t queued_event_count() const { return queue_->queued_size(); } 184 size_t queued_event_count() const { return queue_->queued_size(); }
180 185
181 bool event_in_flight() const { return queue_->event_in_flight(); } 186 bool event_in_flight() const { return queue_->event_in_flight(); }
182 187
183 std::vector<std::unique_ptr<WebInputEvent>>& all_sent_events() { 188 std::vector<std::unique_ptr<WebInputEvent>>& all_sent_events() {
184 return sent_events_; 189 return sent_events_;
185 } 190 }
186 191
187 const std::unique_ptr<WebInputEvent>& sent_input_event(size_t index) { 192 const std::unique_ptr<WebInputEvent>& sent_input_event(size_t index) {
188 return sent_events_[index]; 193 return sent_events_[index];
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 // Receive an ACK for the second mouse wheel event. 428 // Receive an ACK for the second mouse wheel event.
424 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_CONSUMED); 429 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_CONSUMED);
425 EXPECT_EQ(0U, queued_event_count()); 430 EXPECT_EQ(0U, queued_event_count());
426 EXPECT_FALSE(event_in_flight()); 431 EXPECT_FALSE(event_in_flight());
427 EXPECT_EQ(0U, GetAndResetSentEventCount()); 432 EXPECT_EQ(0U, GetAndResetSentEventCount());
428 EXPECT_EQ(1U, GetAndResetAckedEventCount()); 433 EXPECT_EQ(1U, GetAndResetAckedEventCount());
429 EXPECT_EQ(WebInputEvent::MouseWheel, acked_event().type); 434 EXPECT_EQ(WebInputEvent::MouseWheel, acked_event().type);
430 } 435 }
431 436
432 TEST_F(MouseWheelEventQueueTest, GestureSending) { 437 TEST_F(MouseWheelEventQueueTest, GestureSending) {
438 SetUpForGestureTesting(true);
433 GestureSendingTest(false); 439 GestureSendingTest(false);
434 } 440 }
435 441
436 TEST_F(MouseWheelEventQueueTest, GestureSendingPrecisePixels) { 442 TEST_F(MouseWheelEventQueueTest, GestureSendingPrecisePixels) {
443 SetUpForGestureTesting(true);
437 GestureSendingTest(false); 444 GestureSendingTest(false);
438 } 445 }
439 446
440 TEST_F(MouseWheelEventQueueTest, GestureSendingWithPhaseInformation) { 447 TEST_F(MouseWheelEventQueueTest, GestureSendingWithPhaseInformation) {
448 SetUpForGestureTesting(true);
441 PhaseGestureSendingTest(false); 449 PhaseGestureSendingTest(false);
442 } 450 }
443 451
444 TEST_F(MouseWheelEventQueueTest, 452 TEST_F(MouseWheelEventQueueTest,
445 GestureSendingWithPhaseInformationPrecisePixels) { 453 GestureSendingWithPhaseInformationPrecisePixels) {
454 SetUpForGestureTesting(true);
446 PhaseGestureSendingTest(true); 455 PhaseGestureSendingTest(true);
447 } 456 }
448 457
449 TEST_F(MouseWheelEventQueueTest, GestureSendingInterrupted) { 458 TEST_F(MouseWheelEventQueueTest, GestureSendingInterrupted) {
459 SetUpForGestureTesting(true);
450 const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::Pixels; 460 const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::Pixels;
451 461
452 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 462 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
453 kWheelScrollGlobalY, 1, 1, 0, false); 463 kWheelScrollGlobalY, 1, 1, 0, false);
454 EXPECT_EQ(0U, queued_event_count()); 464 EXPECT_EQ(0U, queued_event_count());
455 EXPECT_TRUE(event_in_flight()); 465 EXPECT_TRUE(event_in_flight());
456 EXPECT_EQ(1U, GetAndResetSentEventCount()); 466 EXPECT_EQ(1U, GetAndResetSentEventCount());
457 467
458 // Receive an ACK for the mouse wheel event. 468 // Receive an ACK for the mouse wheel event.
459 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 469 SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 EXPECT_FALSE(event_in_flight()); 512 EXPECT_FALSE(event_in_flight());
503 EXPECT_EQ(WebInputEvent::MouseWheel, acked_event().type); 513 EXPECT_EQ(WebInputEvent::MouseWheel, acked_event().type);
504 EXPECT_EQ(1U, GetAndResetAckedEventCount()); 514 EXPECT_EQ(1U, GetAndResetAckedEventCount());
505 EXPECT_EQ(2U, all_sent_events().size()); 515 EXPECT_EQ(2U, all_sent_events().size());
506 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); 516 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
507 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); 517 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
508 EXPECT_EQ(2U, GetAndResetSentEventCount()); 518 EXPECT_EQ(2U, GetAndResetSentEventCount());
509 } 519 }
510 520
511 TEST_F(MouseWheelEventQueueTest, GestureRailScrolling) { 521 TEST_F(MouseWheelEventQueueTest, GestureRailScrolling) {
522 SetUpForGestureTesting(true);
512 const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::Pixels; 523 const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::Pixels;
513 524
514 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 525 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
515 kWheelScrollGlobalY, 1, 1, 0, false, 526 kWheelScrollGlobalY, 1, 1, 0, false,
516 WebInputEvent::RailsModeHorizontal); 527 WebInputEvent::RailsModeHorizontal);
517 EXPECT_EQ(0U, queued_event_count()); 528 EXPECT_EQ(0U, queued_event_count());
518 EXPECT_TRUE(event_in_flight()); 529 EXPECT_TRUE(event_in_flight());
519 EXPECT_EQ(1U, GetAndResetSentEventCount()); 530 EXPECT_EQ(1U, GetAndResetSentEventCount());
520 531
521 // Receive an ACK for the mouse wheel event. 532 // Receive an ACK for the mouse wheel event.
(...skipping 29 matching lines...) Expand all
551 EXPECT_EQ(1U, GetAndResetAckedEventCount()); 562 EXPECT_EQ(1U, GetAndResetAckedEventCount());
552 EXPECT_EQ(2U, all_sent_events().size()); 563 EXPECT_EQ(2U, all_sent_events().size());
553 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); 564 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
554 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); 565 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1));
555 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX); 566 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX);
556 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY); 567 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY);
557 EXPECT_EQ(2U, GetAndResetSentEventCount()); 568 EXPECT_EQ(2U, GetAndResetSentEventCount());
558 } 569 }
559 570
560 } // namespace content 571 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698