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

Issue 2141993003: PointerEvents for long-press: fix double firing & canceling MEs (Closed)

Created:
4 years, 5 months ago by mustaq
Modified:
4 years, 5 months ago
Reviewers:
bokan, dtapuska, Rick Byers
CC:
chromium-reviews, blink-reviews, nzolghadr+blinkwatch_chromium.org, dtapuska+blinkwatch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

PointerEvents for long-press: fix double firing & canceling MEs This CL fixes two bugs related to PointerEvents and gesture long presses: A. We fire pointer events from touch events. Gesture long-press handler was calling handleMousePressEvent, which caused firing of additional pointer events for the same touch sequence. This CL skips firing PEs from PlatformMouseEvents synthesized from touch. B. Canceling a pointerdown should suppress all following MouseEvents, including those fires through touch-gestures. We have fixed the GestureTap case before. This CL fixes the only remaining ME case: MEs from gesture long-press. BUG=627207, 606938 Committed: https://crrev.com/326934c3dd341e43ecaa2c05fbf7597f7c21764d Cr-Commit-Position: refs/heads/master@{#406649}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Moved gesture context menu code, cherry-picked DOM dispatches. #

Patch Set 3 : Fixed failing tests. #

Patch Set 4 : Fixed preventing MEs on canceled pointerdowns #

Patch Set 5 : Fixed preventing MEs on canceled pointerdowns #

Total comments: 6

Patch Set 6 : Moved back a hittest, added a missing test expectation. #

Patch Set 7 : Reverted cherry-picked DOM dispatch. #

Total comments: 6

Patch Set 8 : Fixed formats. #

Messages

Total messages: 45 (26 generated)
mustaq
ptal
4 years, 5 months ago (2016-07-12 21:25:33 UTC) #4
mustaq
ptal
4 years, 5 months ago (2016-07-12 21:25:35 UTC) #5
Rick Byers
https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode2398 third_party/WebKit/Source/core/input/EventHandler.cpp:2398: handleMousePressEvent(mouseEvent, true); I think the real bug here related ...
4 years, 5 months ago (2016-07-14 14:27:10 UTC) #10
mustaq
https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode2398 third_party/WebKit/Source/core/input/EventHandler.cpp:2398: handleMousePressEvent(mouseEvent, true); On 2016/07/14 14:27:10, Rick Byers wrote: > ...
4 years, 5 months ago (2016-07-14 15:05:14 UTC) #11
Rick Byers
On 2016/07/14 15:05:14, mustaq wrote: > https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp > File third_party/WebKit/Source/core/input/EventHandler.cpp (right): > > https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode2398 > ...
4 years, 5 months ago (2016-07-15 17:02:55 UTC) #12
mustaq
https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.h File third_party/WebKit/Source/core/input/EventHandler.h (right): https://codereview.chromium.org/2141993003/diff/1/third_party/WebKit/Source/core/input/EventHandler.h#newcode149 third_party/WebKit/Source/core/input/EventHandler.h:149: WebInputEventResult handleMousePressEvent(const PlatformMouseEvent&, const bool synthesizedFromTouch = false); On ...
4 years, 5 months ago (2016-07-18 20:50:16 UTC) #18
mustaq
> Also don't you have another existing PE-related bug here because you're ignoring > m_suppressMouseEventsFromGestures? ...
4 years, 5 months ago (2016-07-18 20:51:59 UTC) #19
dtapuska
https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html File third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html (right): https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html#newcode62 third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html:62: <body onload="run()"> is there a reason why this can't ...
4 years, 5 months ago (2016-07-18 21:16:32 UTC) #20
mustaq
ptal. https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html File third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html (right): https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html#newcode62 third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-long-press.html:62: <body onload="run()"> On 2016/07/18 21:16:31, dtapuska wrote: > ...
4 years, 5 months ago (2016-07-19 15:50:27 UTC) #21
mustaq
https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/Source/core/input/GestureManager.cpp File third_party/WebKit/Source/core/input/GestureManager.cpp (right): https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/Source/core/input/GestureManager.cpp#newcode315 third_party/WebKit/Source/core/input/GestureManager.cpp:315: MouseEventWithHitTestResults mev(mouseEvent, targetedEvent.hitTestResult()); On 2016/07/19 15:50:27, mustaq wrote: > ...
4 years, 5 months ago (2016-07-19 15:52:32 UTC) #22
mustaq
https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/Source/core/input/GestureManager.cpp File third_party/WebKit/Source/core/input/GestureManager.cpp (right): https://codereview.chromium.org/2141993003/diff/80001/third_party/WebKit/Source/core/input/GestureManager.cpp#newcode315 third_party/WebKit/Source/core/input/GestureManager.cpp:315: MouseEventWithHitTestResults mev(mouseEvent, targetedEvent.hitTestResult()); On 2016/07/19 15:52:32, mustaq wrote: > ...
4 years, 5 months ago (2016-07-20 15:54:41 UTC) #28
mustaq
ptal, removed all cherry-picking to maintain existing behavior.
4 years, 5 months ago (2016-07-20 16:20:54 UTC) #30
dtapuska
lgtm % nits https://codereview.chromium.org/2141993003/diff/120001/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/2141993003/diff/120001/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode871 third_party/WebKit/Source/core/input/EventHandler.cpp:871: InputDeviceCapabilities* sourceCapabilities = mouseEvent.getSyntheticEventType() == PlatformMouseEvent::FromTouch ...
4 years, 5 months ago (2016-07-20 16:26:08 UTC) #31
mustaq
https://codereview.chromium.org/2141993003/diff/120001/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/2141993003/diff/120001/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode871 third_party/WebKit/Source/core/input/EventHandler.cpp:871: InputDeviceCapabilities* sourceCapabilities = mouseEvent.getSyntheticEventType() == PlatformMouseEvent::FromTouch On 2016/07/20 16:26:08, ...
4 years, 5 months ago (2016-07-20 16:36:44 UTC) #32
mustaq
bokan@chromium.org: Need approval in Source/core.
4 years, 5 months ago (2016-07-20 16:38:08 UTC) #34
bokan
rs-lgtm
4 years, 5 months ago (2016-07-20 16:38:45 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2141993003/140001
4 years, 5 months ago (2016-07-20 18:03:47 UTC) #41
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 5 months ago (2016-07-20 20:17:17 UTC) #43
commit-bot: I haz the power
4 years, 5 months ago (2016-07-20 20:19:16 UTC) #45
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/326934c3dd341e43ecaa2c05fbf7597f7c21764d
Cr-Commit-Position: refs/heads/master@{#406649}

Powered by Google App Engine
This is Rietveld 408576698