|
Suppressed MEs for gestures from cancelled PEs
Our current implementation suppresses the touch-points
for which the pointerevents have been canceled, to mimic
the ME suppression behavior of PointerEvents. In Edge,
however, TEs are fired as-is without considering the
canceling status of pointerdowns. We need to follow the
Edge behavior here for better web-compat.
Moreover, since preventing a pointerdown suppresses MEs,
this should be true for the MEs from gestures that are
ultimately triggered by TEs, when the PEs corresponding
to the TEs are canceled (crbug.com/606938).
In addition, the current implementation (suppressing
touch-points for canceled pointerevents) has a few bad
side-effects:
- TE sequence can become inconsistent (eg touchend w/o
toushstart) for certain sequences of PE canceling
(crbug.com/607588).
- Preventing all PEs completely hides TEs but until touch
scroll starts, which suppresses PEs only to "reveal" the
hidden TE sequence from "middle" (crbug.com/507408).
This CL adds a unique-touch-id queue in PointerEventManager
to properly suppress MEs from GestureTap, and makes TE
firing independent of PE handling in JS. This CL also
suppresses some default behavior associated with a
tap on canceled pointerdowns (e.g. focusing an input
field).
The MEs from GestureLongPress are left as-is in this CL
because suppressing them could break drag-drop; this will
be done separately in a follow-up CL.
BUG= 606938, 607588, 507408
Committed: https://crrev.com/1904837ebb6f8f352572e0f833e14640a0db6d54
Cr-Commit-Position: refs/heads/master@{#400264}
Total comments: 19
Total comments: 8
Total comments: 6
Total comments: 2
Total comments: 11
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+563 lines, -134 lines) |
Patch |
|
M |
components/test_runner/event_sender.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
components/test_runner/event_sender.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
5 chunks |
+37 lines, -43 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/input/web_input_event_util_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/ui_events_helper.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-mouse.html
|
View
|
1
2
3
4
|
1 chunk |
+114 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-mouse-expected.txt
|
View
|
1
2
3
4
|
1 chunk |
+75 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-setrangetext-with-events.html
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-pointer-events-expected.txt
|
View
|
1
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-pointer-mouse-expected.txt
|
View
|
1
2
3
4
|
1 chunk |
+87 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-pointercancel-expected.txt
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/EventHandler.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/EventHandler.cpp
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
10 chunks |
+40 lines, -17 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/PointerEventManager.h
|
View
|
1
2
3
4
5
6
|
3 chunks |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/PointerEventManager.cpp
|
View
|
1
2
3
4
5
6
7
|
4 chunks |
+32 lines, -10 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/TouchEventManager.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/input/TouchEventManager.cpp
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
19
|
1 chunk |
+0 lines, -9 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/PlatformGestureEvent.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/PlatformTouchEvent.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/web/WebInputEvent.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/web/WebInputEventConversion.cpp
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/web/tests/WebInputEventConversionTest.cpp
|
View
|
1
2
3
4
5
6
7
8
9
|
4 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/public/web/WebInputEvent.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
2 chunks |
+11 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/events/blink/blink_event_util.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/events/blink/blink_event_util.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
3 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
ui/events/blink/blink_event_util_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/events/event.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
2 chunks |
+15 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/events/event.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_event_data.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_event_data.cc
|
View
|
3
4
|
4 chunks |
+8 lines, -4 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_event_data_packet.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_event_data_packet.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_event_data_packet_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
4 chunks |
+14 lines, -5 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/gesture_provider.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+16 lines, -5 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/touch_disposition_gesture_filter.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/touch_disposition_gesture_filter.cc
|
View
|
1
2
3
4
5
6
7
|
4 chunks |
+19 lines, -9 lines |
0 comments
|
Download
|
|
M |
ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
ui/events/gestures/gesture_provider_aura.h
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
ui/events/gestures/gesture_provider_aura.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1 chunk |
+9 lines, -7 lines |
0 comments
|
Download
|
Total messages: 85 (36 generated)
|