Issue metadata
Sign in to add a comment
|
Touch action regions incorrectly scroll and become invalid |
||||||||||||||||||||||
Issue descriptionChrome Version: 67.0.3381.2 OS: Android What steps will reproduce the problem? (1) Visit http://jsbin.com/telivuw/2/quiet (2) Notice that touching on the pink area does not scroll. (3) Scroll the area up a bit. (4) Notice that touching on the pink area does scroll. I think our touch action regions are being stored on the scrolling contents layer but should be stored on an unscrolled layer.
,
Mar 29 2018
,
Apr 3 2018
If you apply a will-change: transform to the touch-action area then it works correctly. The bisect is correct that it started reproducing around when mojo enabled. But the real problem is that the slow hit test regions aren't being calculated correctly. It broke because mojo is faster and by the time the browser got the ack the touch-start ack was already processed. If you bisect with mojo disabled you'll find it works for chrome ipc up until: https://chromium.googlesource.com/chromium/src/+log/7bfb139d180543d9e4402dfcc7bedb79cf9c4872..1957d0b533a7d46f88d4c2809c561873cbf78ddc which drops touch-actions if a touch-start is not in the pending ack queue. That means that it is a race. Debugging the HandleTouchStart in the InputHandlerProxy shows that the regions aren't hit test correctly.
,
Apr 3 2018
The hit test on the compositor side doesn't find them inside the scrolling rects. Is the scroll offset being applied correctly in these transforms?
,
Apr 5 2018
Has a discussion with pdr@, in this particular example, the problem is that we store touch-action regions on the container layer instead of the scrolling content layer, so we won't be able to account for the scroll offset. Unfortunately, our current code architecture takes a map of PaintLayer and Rect in SetTouchEventTargetRects, and that is not enough to decide whether the touch action region should be stored on the container layer or the scrolling content layer. pdr@ did mention that there are some proposal to re-write the logic in that area, and that should be able to solve this problem.
,
May 1 2018
,
May 14 2018
Can some one from dev team, please take a look at this issue? Thanks!!
,
Sep 21
,
Sep 21
PaintTouchActionRects has shipped which fixes this. ScrollingCoordinatorTest.touchAction is the unit test for this case.ScrollingCoordinatorTest.touchAction
,
Sep 25
Re-open because we revert the ship of PaintTouchActionRects.
,
Nov 25
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by pnangunoori@chromium.org
, Mar 29 2018Labels: -Type-Bug hasbisect-per-revision Target-67 RegressedIn-64 FoundIn-67 M-65 M-66 M-67 FoundIn-66 Target-66 Target-65 FoundIn-65 Type-Bug-Regression
Owner: dtapu...@chromium.org
Status: Assigned (was: Untriaged)