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

Issue 16507017: Initial touch-action main thread implementation (Closed)

Created:
7 years, 6 months ago by Rick Byers
Modified:
7 years ago
CC:
blink-reviews, kenneth.christiansen, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, aelias_OOO_until_Jul13
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Initial touch-action main thread implementation This adds initial support for touch-action: none/auto on the blink main thread. This works by computing the effective touch action on any touchstart event and reporting the result to the embedder. Chrome will then do appropriate filtering of gesture events in the browser process. This is necessary because the browser may do other optimizations based on the result (such as suppressing sending of touchmove events during a scroll). We report this via WebWidgetClient in advance of the touch event ACK because in the future it will need to be able to come from the impl thread without waiting on main (plus there can be some performance benefit to doing it in advance of running any JS handlers). For more details see the design document: https://docs.google.com/a/chromium.org/document/d/1CV2AXyrdPdGSRypAQcfGrgQVuWYi50EzTmVsMLWgRPM/edit# Note that this does not yet integrate at all with compositor fast paths (eg. a touch handler is necessary for touch-action to take effect in order to bypass compositor touch hit testing). Intent-to-implement thread: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/mDSwpxfdrdA Chromium-side patch to consume this: https://codereview.chromium.org/67383002/ BUG=316735 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=163373

Patch Set 1 #

Patch Set 2 : Implementation of new design #

Patch Set 3 : Adds tests and fixes a couple bugs #

Patch Set 4 : Don't yet promote to 'experimental' - want chrome side to land first #

Patch Set 5 : Tweak style #

Patch Set 6 : Don't add delay param to public API just yet #

Total comments: 12

Patch Set 7 : abarth CR feedback #

Patch Set 8 : Omit touch-ID in setTouchAction calls for now #

Patch Set 9 : Merge with trunk - no changes #

Patch Set 10 : merge with trunk - no changes #

Total comments: 29

Patch Set 11 : esprehn CR #

Patch Set 12 : merge with trunk (no changes) #

Patch Set 13 : Merge with trunk (no changes) #

Total comments: 10

Patch Set 14 : esprehn CR tweaks #

Unified diffs Side-by-side diffs Delta from patch set Stats (+591 lines, -9 lines) Patch
M Source/core/dom/Node.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/loader/EmptyClients.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/ChromeClient.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -0 lines 0 comments Download
M Source/core/page/EventHandler.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M Source/core/page/EventHandler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +37 lines, -0 lines 0 comments Download
M Source/core/rendering/style/RenderStyleConstants.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M Source/web/AssertMatchingEnums.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +5 lines, -0 lines 0 comments Download
M Source/web/ChromeClientImpl.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M Source/web/ChromeClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -0 lines 0 comments Download
A Source/web/tests/TouchActionTest.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +316 lines, -0 lines 0 comments Download
A Source/web/tests/data/touch-action-overflow.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +26 lines, -0 lines 0 comments Download
A Source/web/tests/data/touch-action-shadow-dom.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +39 lines, -0 lines 0 comments Download
A Source/web/tests/data/touch-action-simple.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +35 lines, -0 lines 0 comments Download
A Source/web/tests/data/touch-action-tests.css View 1 2 1 chunk +54 lines, -0 lines 0 comments Download
A Source/web/tests/data/touch-action-tests.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +48 lines, -0 lines 0 comments Download
M Source/web/web.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
A + public/web/WebTouchAction.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -8 lines 0 comments Download
M public/web/WebWidgetClient.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
Rick Byers
Adam, Can you review this patch which adds a new blink API for communicating touch-action ...
7 years, 1 month ago (2013-11-15 16:22:47 UTC) #1
abarth-chromium
@esprehn: Would you be willing to review this CL as well? I'm not sure about ...
7 years, 1 month ago (2013-11-18 21:16:58 UTC) #2
Rick Byers
Thanks Adam. https://codereview.chromium.org/16507017/diff/113001/Source/core/page/EventHandler.cpp File Source/core/page/EventHandler.cpp (right): https://codereview.chromium.org/16507017/diff/113001/Source/core/page/EventHandler.cpp#newcode3639 Source/core/page/EventHandler.cpp:3639: } On 2013/11/18 21:16:59, abarth wrote: > ...
7 years, 1 month ago (2013-11-19 21:24:21 UTC) #3
abarth-chromium
On 2013/11/19 21:24:21, Rick Byers wrote: > So how about I just omit this entirely ...
7 years, 1 month ago (2013-11-20 05:23:53 UTC) #4
Rick Byers
On 2013/11/20 05:23:53, abarth wrote: > On 2013/11/19 21:24:21, Rick Byers wrote: > > So ...
7 years, 1 month ago (2013-11-20 15:14:54 UTC) #5
abarth-chromium
On 2013/11/20 15:14:54, Rick Byers wrote: > What about the layout test vs. unit test ...
7 years, 1 month ago (2013-11-20 17:37:36 UTC) #6
esprehn
Your ancestor walk in the DOM doesn't work for Shadow DOM and can be simpler. ...
7 years, 1 month ago (2013-11-21 16:26:28 UTC) #7
Rick Byers
Thanks Elliott! I've fixed up the shadow-DOM cases and added some tests (which required a ...
7 years, 1 month ago (2013-11-21 22:09:28 UTC) #8
Rick Byers
On 2013/11/21 22:09:28, Rick Byers wrote: > Thanks Elliott! > I've fixed up the shadow-DOM ...
7 years ago (2013-12-05 16:20:36 UTC) #9
esprehn
Please add an early return to the loop before landing. lgtm https://codereview.chromium.org/16507017/diff/663001/Source/core/page/EventHandler.cpp File Source/core/page/EventHandler.cpp (right): ...
7 years ago (2013-12-06 22:19:19 UTC) #10
Rick Byers
Thanks Elliott! Adam - back to you for OWNERS in the remaining directories. https://codereview.chromium.org/16507017/diff/663001/Source/core/page/EventHandler.cpp File ...
7 years ago (2013-12-07 03:13:35 UTC) #11
abarth-chromium
Source/web LGTM
7 years ago (2013-12-07 16:13:22 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rbyers@chromium.org/16507017/683001
7 years ago (2013-12-07 16:56:58 UTC) #13
commit-bot: I haz the power
7 years ago (2013-12-07 17:52:34 UTC) #14
Message was sent while issue was closed.
Change committed as 163373

Powered by Google App Engine
This is Rietveld 408576698