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

Unified Diff: content/browser/renderer_host/input/touch_event_queue_unittest.cc

Issue 2569273002: Add constructors to WebInputEvents and setters so we can work at cleaning up these public structs. (Closed)
Patch Set: Rebase Created 3 years, 12 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/input/touch_event_queue_unittest.cc
diff --git a/content/browser/renderer_host/input/touch_event_queue_unittest.cc b/content/browser/renderer_host/input/touch_event_queue_unittest.cc
index d439f219069529130af005a654c653d80d98f9de..6635090907e93a7e18ddf934199777c5da9122f5 100644
--- a/content/browser/renderer_host/input/touch_event_queue_unittest.cc
+++ b/content/browser/renderer_host/input/touch_event_queue_unittest.cc
@@ -20,6 +20,7 @@
#include "content/common/input/web_touch_event_traits.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/public/platform/WebInputEvent.h"
+#include "ui/events/base_event_utils.h"
using blink::WebGestureEvent;
using blink::WebInputEvent;
@@ -125,8 +126,8 @@ class TouchEventQueueTest : public testing::Test,
}
void SendGestureEvent(WebInputEvent::Type type) {
- WebGestureEvent event;
- event.type = type;
+ WebGestureEvent event(type, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
queue_->OnGestureScrollEvent(
GestureEventWithLatencyInfo(event, ui::LatencyInfo()));
}
@@ -148,9 +149,9 @@ class TouchEventQueueTest : public testing::Test,
void SendGestureEventAck(WebInputEvent::Type type,
InputEventAckState ack_result) {
- blink::WebGestureEvent gesture_event;
- gesture_event.type = type;
- GestureEventWithLatencyInfo event(gesture_event, ui::LatencyInfo());
+ GestureEventWithLatencyInfo event(
+ type, blink::WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()), ui::LatencyInfo());
queue_->OnGestureEventAck(event, ack_result);
}
@@ -242,7 +243,7 @@ class TouchEventQueueTest : public testing::Test,
}
void AdvanceTouchTime(double seconds) {
- touch_event_.timeStampSeconds += seconds;
+ touch_event_.setTimeStampSeconds(touch_event_.timeStampSeconds + seconds);
}
void ResetTouchEvent() {
@@ -842,8 +843,9 @@ TEST_F(TouchEventQueueTest, AckWithFollowupEvents) {
// Create a touch event that will be queued synchronously by a touch ack.
// Note, this will be triggered by all subsequent touch acks.
- WebTouchEvent followup_event;
- followup_event.type = WebInputEvent::TouchMove;
+ WebTouchEvent followup_event(
+ WebInputEvent::TouchMove, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
followup_event.touchesLength = 1;
followup_event.touches[0].id = 0;
followup_event.touches[0].state = WebTouchPoint::StateMoved;
@@ -911,8 +913,9 @@ TEST_F(TouchEventQueueTest, SynchronousAcks) {
// TouchEventQueue::QueueEvent() are properly handled.
TEST_F(TouchEventQueueTest, ImmediateAckWithFollowupEvents) {
// Create a touch event that will be queued synchronously by a touch ack.
- WebTouchEvent followup_event;
- followup_event.type = WebInputEvent::TouchStart;
+ WebTouchEvent followup_event(
+ WebInputEvent::TouchStart, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
followup_event.touchesLength = 1;
followup_event.touches[0].id = 1;
followup_event.touches[0].state = WebTouchPoint::StatePressed;
@@ -921,9 +924,11 @@ TEST_F(TouchEventQueueTest, ImmediateAckWithFollowupEvents) {
// Now, enqueue a stationary touch that will not be forwarded. This should be
// immediately ack'ed with "NO_CONSUMER_EXISTS". The followup event should
// then be enqueued and immediately sent to the renderer.
- WebTouchEvent stationary_event;
+ WebTouchEvent stationary_event(
+ WebInputEvent::TouchMove, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
+ ;
stationary_event.touchesLength = 1;
- stationary_event.type = WebInputEvent::TouchMove;
stationary_event.touches[0].id = 1;
stationary_event.touches[0].state = WebTouchPoint::StateStationary;
SendTouchEvent(stationary_event);
@@ -1241,8 +1246,9 @@ TEST_F(TouchEventQueueTest, TouchTimeoutWithFollowupGesture) {
EXPECT_EQ(1U, GetAndResetSentEventCount());
// The cancelled sequence may turn into a scroll gesture.
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(
+ WebInputEvent::GestureScrollBegin, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
SetFollowupEvent(followup_scroll);
// Delay the ack.
@@ -1296,8 +1302,9 @@ TEST_F(TouchEventQueueTest, TouchTimeoutWithFollowupGestureAndDelayedAck) {
EXPECT_EQ(1U, GetAndResetSentEventCount());
// The cancelled sequence may turn into a scroll gesture.
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(
+ WebInputEvent::GestureScrollBegin, WebInputEvent::NoModifiers,
+ ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
SetFollowupEvent(followup_scroll);
// Delay the ack.
@@ -1580,8 +1587,9 @@ TEST_F(TouchEventQueueTest, NoForwardingAfterScrollWithNoTouchConsumers) {
ASSERT_EQ(1U, GetAndResetSentEventCount());
ASSERT_EQ(1U, GetAndResetAckedEventCount());
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
MoveTouchPoint(0, 20, 5);
EXPECT_EQ(0U, GetAndResetSentEventCount());
@@ -1641,8 +1649,9 @@ TEST_F(TouchEventQueueTest, AsyncTouchThrottledAfterScroll) {
// Now send the first touch move and associated GestureScrollBegin.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
@@ -1653,7 +1662,7 @@ TEST_F(TouchEventQueueTest, AsyncTouchThrottledAfterScroll) {
// Send the second touch move and associated GestureScrollUpdate, but don't
// ACK the gesture event yet.
MoveTouchPoint(0, 0, 50);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
@@ -1671,7 +1680,7 @@ TEST_F(TouchEventQueueTest, AsyncTouchThrottledAfterScroll) {
// this case, we will first dispatch an async touchmove and then a touchend.
// For the async touchmove, we will not send ack again.
ReleaseTouchPoint(0);
- followup_scroll.type = WebInputEvent::GestureScrollEnd;
+ followup_scroll.setType(WebInputEvent::GestureScrollEnd);
SetFollowupEvent(followup_scroll);
EXPECT_FALSE(HasPendingAsyncTouchMove());
EXPECT_EQ(2U, all_sent_events().size());
@@ -1704,14 +1713,14 @@ TEST_F(TouchEventQueueTest, AsyncTouchThrottledAfterScroll) {
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 5);
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ followup_scroll.setType(WebInputEvent::GestureScrollBegin);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 6);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(HasPendingAsyncTouchMove());
@@ -1826,15 +1835,16 @@ TEST_F(TouchEventQueueTest, AsyncTouchFlushedByTouchEnd) {
// Initiate async touchmove dispatch after the start of a scroll sequence.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 10);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
@@ -1888,8 +1898,9 @@ TEST_F(TouchEventQueueTest, AsyncTouchWithAckTimeout) {
MoveTouchPoint(0, 1, 1);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_TRUE(IsTimeoutRunning());
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(IsTimeoutRunning());
@@ -1963,8 +1974,9 @@ TEST_F(TouchEventQueueTest, AsyncTouchWithTouchCancelAfterAck) {
// The start of a scroll gesture should trigger async touch event dispatch.
MoveTouchPoint(0, 1, 1);
EXPECT_EQ(1U, GetAndResetSentEventCount());
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetAckedEventCount());
@@ -1975,8 +1987,9 @@ TEST_F(TouchEventQueueTest, AsyncTouchWithTouchCancelAfterAck) {
// The async touchmove should be ack'ed immediately, but not forwarded.
// However, because the ack triggers a touchcancel, both the pending touch and
// the queued touchcancel should be flushed.
- WebTouchEvent followup_cancel;
- followup_cancel.type = WebInputEvent::TouchCancel;
+ WebTouchEvent followup_cancel(WebInputEvent::TouchCancel,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
followup_cancel.touchesLength = 1;
followup_cancel.touches[0].state = WebTouchPoint::StateCancelled;
SetFollowupEvent(followup_cancel);
@@ -2012,8 +2025,9 @@ TEST_F(TouchEventQueueTest, AsyncTouchWithHardTouchStartReset) {
// Trigger async touchmove dispatch.
MoveTouchPoint(0, 1, 1);
EXPECT_EQ(1U, GetAndResetSentEventCount());
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetAckedEventCount());
@@ -2052,15 +2066,16 @@ TEST_F(TouchEventQueueTest, SendNextThrottledAsyncTouchMoveAfterAck) {
// Initiate async touchmove dispatch after the start of a scroll sequence.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 10);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(HasPendingAsyncTouchMove());
@@ -2113,15 +2128,16 @@ TEST_F(TouchEventQueueTest, SendNextAsyncTouchMoveAfterAckAndTimeExpire) {
// Initiate async touchmove dispatch after the start of a scroll sequence.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 10);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(HasPendingAsyncTouchMove());
@@ -2171,15 +2187,16 @@ TEST_F(TouchEventQueueTest, AsyncTouchFlushedByNonTouchMove) {
// Initiate async touchmove dispatch after the start of a scroll sequence.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 10);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(HasPendingAsyncTouchMove());
@@ -2285,15 +2302,16 @@ TEST_F(TouchEventQueueTest, DoNotIncreaseIfClientConsumeAsyncTouchMove) {
// Initiate async touchmove dispatch after the start of a scroll sequence.
MoveTouchPoint(0, 0, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollBegin;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollBegin,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_EQ(1U, GetAndResetSentEventCount());
EXPECT_EQ(1U, GetAndResetAckedEventCount());
MoveTouchPoint(0, 0, 10);
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ followup_scroll.setType(WebInputEvent::GestureScrollUpdate);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
EXPECT_FALSE(HasPendingAsyncTouchMove());
@@ -2359,8 +2377,9 @@ TEST_F(TouchEventQueueTest, TouchAbsorptionWithConsumedFirstMove) {
EXPECT_EQ(1U, GetAndResetSentEventCount());
MoveTouchPoint(0, 20, 5);
- WebGestureEvent followup_scroll;
- followup_scroll.type = WebInputEvent::GestureScrollUpdate;
+ WebGestureEvent followup_scroll(WebInputEvent::GestureScrollUpdate,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
SetFollowupEvent(followup_scroll);
SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
SendGestureEventAck(WebInputEvent::GestureScrollUpdate,

Powered by Google App Engine
This is Rietveld 408576698