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

Issue 1884863003: Non passive touch end or touch cancel listeners should not block scroll. (Closed)

Created:
4 years, 8 months ago by dtapuska
Modified:
4 years, 8 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, cc-bugs_chromium.org, chromium-reviews, dglazkov+blink, dtapuska+chromiumwatch_chromium.org, dtapuska+blinkwatch_chromium.org, gavinp+loader_chromium.org, Nate Chapin, loading-reviews_chromium.org, tdresser+watch_chromium.org, tyoshino+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Non passive touch end or touch cancel listeners should not block scroll. Ensure that touch end or touch cancel listeners don't block scroll by removing these listeners from the touch hit test regions. When no touch listener is encountered for TouchStart examine the touch end/cancel listeners and determine if the touch start needs to be dispatched non-blocking. BUG=601990 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/e1504c1965e9ee3f757bda6f8b357781b66fbf22 Cr-Commit-Position: refs/heads/master@{#387399}

Patch Set 1 #

Total comments: 18

Patch Set 2 : Rename Have->Has add browsertest #

Total comments: 2

Patch Set 3 : Adjust comments #

Total comments: 7

Patch Set 4 : Rename TouchEvent -> TouchStartOrMoveEvent #

Patch Set 5 : Remove API from ChromeClient #

Unified diffs Side-by-side diffs Delta from patch set Stats (+489 lines, -260 lines) Patch
M cc/input/event_listener_properties.h View 1 2 3 1 chunk +9 lines, -1 line 0 comments Download
M cc/proto/layer_tree_host.proto View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 3 chunks +18 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 2 chunks +9 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 1 chunk +5 lines, -2 lines 0 comments Download
M content/browser/renderer_host/input/non_blocking_event_browsertest.cc View 1 4 chunks +36 lines, -4 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 3 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/event-listener-on-attribute-inside-shadow-dom.html View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/event-listener-on-attribute-inside-shadow-dom-expected.txt View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-action-touch-handlers.html View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-handler-count.html View 1 2 3 7 chunks +118 lines, -77 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-handler-count-expected.txt View 1 2 3 1 chunk +115 lines, -74 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-input-element-change-documents.html View 1 2 3 1 chunk +9 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-input-element-change-documents-expected.txt View 1 2 3 1 chunk +9 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/touch-target-removed-crash.html View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/plugins/re-request-touch-events-crash.html View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/plugins/re-request-touch-events-crash-expected.txt View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/EventHandlerRegistry.h View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp View 1 2 3 4 4 chunks +17 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLInputElement.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.cpp View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/loader/EmptyClients.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/loader/FrameLoader.cpp View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/ChromeClient.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/testing/Internals.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/testing/Internals.cpp View 1 2 3 1 chunk +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/testing/Internals.idl View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/ChromeClientImpl.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/ChromeClientImpl.cpp View 1 2 3 4 2 chunks +11 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/WebPagePopupImpl.cpp View 1 2 3 4 2 chunks +11 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp View 1 2 3 4 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebViewTest.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/public/platform/WebEventListenerProperties.h View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 3 2 chunks +12 lines, -1 line 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 2 3 3 chunks +42 lines, -4 lines 0 comments Download

Messages

Total messages: 37 (11 generated)
dtapuska
4 years, 8 months ago (2016-04-13 15:41:37 UTC) #4
tdresser
Test failures look real. https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js File third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js (right): https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js#newcode141 third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js:141: // are not added to ...
4 years, 8 months ago (2016-04-13 16:52:36 UTC) #5
dtapuska
https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js File third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js (right): https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js#newcode141 third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js:141: // are not added to the compositor hit test ...
4 years, 8 months ago (2016-04-13 18:00:16 UTC) #6
dtapuska
PTAL
4 years, 8 months ago (2016-04-13 18:00:36 UTC) #7
tdresser
LGTM, % the nittiest nit and tests passing. https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js File third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js (right): https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js#newcode141 third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js:141: // ...
4 years, 8 months ago (2016-04-13 18:44:40 UTC) #8
dtapuska
https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js File third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js (right): https://codereview.chromium.org/1884863003/diff/1/third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js#newcode141 third_party/WebKit/LayoutTests/fast/events/touch/resources/compositor-touch-hit-rects.js:141: // are not added to the compositor hit test ...
4 years, 8 months ago (2016-04-13 18:49:08 UTC) #9
aelias_OOO_until_Jul13
lgtm
4 years, 8 months ago (2016-04-13 21:56:19 UTC) #10
dtapuska
On 2016/04/13 21:56:19, aelias wrote: > lgtm Rbyers@ can you have a look at the ...
4 years, 8 months ago (2016-04-13 22:25:57 UTC) #12
Rick Byers
https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp File third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp (right): https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp#newcode236 third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp:236: void EventHandlerRegistry::updateHasTouchEventListeners() Why put this logic here instead of ...
4 years, 8 months ago (2016-04-14 01:41:41 UTC) #13
dtapuska
https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp File third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp (right): https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp#newcode236 third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp:236: void EventHandlerRegistry::updateHasTouchEventListeners() On 2016/04/14 01:41:40, Rick Byers wrote: > ...
4 years, 8 months ago (2016-04-14 01:49:10 UTC) #14
Rick Byers
On 2016/04/14 01:49:10, dtapuska wrote: > https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp > File third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp (right): > > https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp#newcode236 > ...
4 years, 8 months ago (2016-04-14 02:07:15 UTC) #15
dtapuska
On 2016/04/14 02:07:15, Rick Byers wrote: > On 2016/04/14 01:49:10, dtapuska wrote: > > > ...
4 years, 8 months ago (2016-04-14 02:29:45 UTC) #16
Rick Byers
On 2016/04/14 02:29:45, dtapuska wrote: > On 2016/04/14 02:07:15, Rick Byers wrote: > > On ...
4 years, 8 months ago (2016-04-14 03:21:06 UTC) #17
dtapuska
On 2016/04/14 03:21:06, Rick Byers wrote: > On 2016/04/14 02:29:45, dtapuska wrote: > > On ...
4 years, 8 months ago (2016-04-14 14:39:41 UTC) #18
dtapuska
https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.h File third_party/WebKit/Source/core/frame/EventHandlerRegistry.h (right): https://codereview.chromium.org/1884863003/diff/40001/third_party/WebKit/Source/core/frame/EventHandlerRegistry.h#newcode35 third_party/WebKit/Source/core/frame/EventHandlerRegistry.h:35: TouchEventPassive, On 2016/04/14 01:49:10, dtapuska wrote: > On 2016/04/14 ...
4 years, 8 months ago (2016-04-14 14:41:11 UTC) #19
Rick Byers
If there's no layertreehost then a constant (true?) for has touch listeners is probably fine ...
4 years, 8 months ago (2016-04-14 14:41:35 UTC) #20
Rick Byers
If there's no layertreehost then a constant (true?) for has touch listeners is probably fine ...
4 years, 8 months ago (2016-04-14 14:41:37 UTC) #21
dtapuska
On 2016/04/14 14:41:37, Rick Byers wrote: > If there's no layertreehost then a constant (true?) ...
4 years, 8 months ago (2016-04-14 16:50:44 UTC) #22
Rick Byers
Thanks! LGTM
4 years, 8 months ago (2016-04-14 17:15:18 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1884863003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1884863003/80001
4 years, 8 months ago (2016-04-14 18:59:20 UTC) #26
dtapuska
On 2016/04/14 18:59:20, commit-bot: I haz the power wrote: > CQ is trying da patch. ...
4 years, 8 months ago (2016-04-14 19:00:57 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/168719)
4 years, 8 months ago (2016-04-14 19:10:54 UTC) #30
Charlie Reis
content/ LGTM.
4 years, 8 months ago (2016-04-14 19:48:55 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1884863003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1884863003/80001
4 years, 8 months ago (2016-04-14 19:49:45 UTC) #33
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 8 months ago (2016-04-14 19:56:36 UTC) #35
commit-bot: I haz the power
4 years, 8 months ago (2016-04-14 19:58:15 UTC) #37
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/e1504c1965e9ee3f757bda6f8b357781b66fbf22
Cr-Commit-Position: refs/heads/master@{#387399}

Powered by Google App Engine
This is Rietveld 408576698