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

Unified Diff: components/test_runner/event_sender.cc

Issue 1989623002: Suppressed MEs for gestures from cancelled PEs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased 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 side-by-side diff with in-line comments
Download patch
Index: components/test_runner/event_sender.cc
diff --git a/components/test_runner/event_sender.cc b/components/test_runner/event_sender.cc
index 62caa03f9a64ee80891ba95590780610a32099b0..18e98ea9c683afb11ab4d7843c5aa9ec25642338 100644
--- a/components/test_runner/event_sender.cc
+++ b/components/test_runner/event_sender.cc
@@ -1937,38 +1937,20 @@ void EventSender::GestureScrollFirstPoint(int x, int y) {
current_gesture_location_ = WebPoint(x, y);
}
-bool EventSender::GetMovedBeyondSlopRegionArg(gin::Arguments* args) {
- std::string arg;
- if (args->PeekNext().IsEmpty())
- return false;
-
- if(args->PeekNext()->IsString() && args->GetNext(&arg)) {
- if (arg == "movedBeyondSlopRegion")
- return true;
- }
-
- args->ThrowError();
- return false;
-}
-
void EventSender::TouchStart(gin::Arguments* args) {
- SendCurrentTouchEvent(WebInputEvent::TouchStart,
- GetMovedBeyondSlopRegionArg(args));
+ SendCurrentTouchEvent(WebInputEvent::TouchStart, args);
}
void EventSender::TouchMove(gin::Arguments* args) {
- SendCurrentTouchEvent(WebInputEvent::TouchMove,
- GetMovedBeyondSlopRegionArg(args));
+ SendCurrentTouchEvent(WebInputEvent::TouchMove, args);
}
void EventSender::TouchCancel(gin::Arguments* args) {
- SendCurrentTouchEvent(WebInputEvent::TouchCancel,
- GetMovedBeyondSlopRegionArg(args));
+ SendCurrentTouchEvent(WebInputEvent::TouchCancel, args);
}
void EventSender::TouchEnd(gin::Arguments* args) {
- SendCurrentTouchEvent(WebInputEvent::TouchEnd,
- GetMovedBeyondSlopRegionArg(args));
+ SendCurrentTouchEvent(WebInputEvent::TouchEnd, args);
}
void EventSender::NotifyStartOfTouchScroll() {
@@ -2216,8 +2198,36 @@ void EventSender::DoLeapForward(int milliseconds) {
time_offset_ms_ += milliseconds;
}
+void EventSender::GetOptionalTouchArgs(gin::Arguments* args,
+ bool& moved_beyond_slop_region,
+ uint32_t& unique_touch_event_id) {
+ moved_beyond_slop_region = false;
+ if(!args->PeekNext().IsEmpty() && args->PeekNext()->IsString()) {
+ std::string arg;
+ if (args->GetNext(&arg) && arg == "movedBeyondSlopRegion")
+ moved_beyond_slop_region = true;
+ else
+ args->ThrowError();
+ }
+
+ unique_touch_event_id = GetUniqueTouchEventId(args);
+ return;
+}
+
+uint32_t EventSender::GetUniqueTouchEventId(gin::Arguments* args) {
+ uint32_t unique_touch_event_id;
+ if(!args->PeekNext().IsEmpty() && args->GetNext(&unique_touch_event_id))
+ return unique_touch_event_id;
+
+ return 0;
+}
+
void EventSender::SendCurrentTouchEvent(WebInputEvent::Type type,
- bool movedBeyondSlopRegion) {
+ gin::Arguments* args) {
+ bool moved_beyond_slop_region;
+ uint32_t unique_touch_event_id;
+ GetOptionalTouchArgs(args, moved_beyond_slop_region, unique_touch_event_id);
+
DCHECK_GT(static_cast<unsigned>(WebTouchEvent::touchesLengthCap),
touch_points_.size());
if (force_layout_on_events_)
@@ -2230,7 +2240,8 @@ void EventSender::SendCurrentTouchEvent(WebInputEvent::Type type,
? WebInputEvent::Blocking
: WebInputEvent::EventNonBlocking;
touch_event.timeStampSeconds = GetCurrentEventTimeSec();
- touch_event.movedBeyondSlopRegion = movedBeyondSlopRegion;
+ touch_event.movedBeyondSlopRegion = moved_beyond_slop_region;
+ touch_event.uniqueTouchEventId = unique_touch_event_id;
touch_event.touchesLength = touch_points_.size();
for (size_t i = 0; i < touch_points_.size(); ++i)
touch_event.touches[i] = touch_points_[i];
@@ -2428,25 +2439,6 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
event.y = y;
break;
case WebInputEvent::GestureLongPress:
- event.x = x;
- event.y = y;
- if (!args->PeekNext().IsEmpty()) {
- float width;
- if (!args->GetNext(&width)) {
- args->ThrowError();
- return;
- }
- event.data.longPress.width = width;
- if (!args->PeekNext().IsEmpty()) {
- float height;
- if (!args->GetNext(&height)) {
- args->ThrowError();
- return;
- }
- event.data.longPress.height = height;
- }
- }
- break;
case WebInputEvent::GestureLongTap:
event.x = x;
event.y = y;
@@ -2491,6 +2483,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
NOTREACHED();
}
+ event.uniqueTouchEventId = GetUniqueTouchEventId(args);
+
event.globalX = event.x;
event.globalY = event.y;
event.timeStampSeconds = GetCurrentEventTimeSec();
« no previous file with comments | « components/test_runner/event_sender.h ('k') | content/browser/renderer_host/input/web_input_event_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698