New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 673102 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 2
Type: Bug



Sign in to add a comment

broken touch events with CSS transform

Reported by a.goed...@googlemail.com, Dec 10 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.52 Safari/537.36

Steps to reproduce the problem:
1. Open the attached index.html file either in desktop chrome with touch device emulation or an android device.
2. Try to drag _both_ 'sliders' using touch.
3. The first slider will continue working. The second slider will stop working after dragging it a few times.

What is the expected behavior?
Both sliders should continue working.

What went wrong?
The second (broken) slider starts receiving non-cancelable touch events. The only difference between the two is that the container of the first slider has an empty touchstart event handler. Another workaround is to not use CSS transform to move the handle.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 55.0.2883.52  Channel: n/a
OS Version: 
Flash Version: 

This bug might be a duplicate of #235062.
 
index.html
1.4 KB View Download

Comment 1 by ajha@chromium.org, Dec 12 2016

Labels: M-55
Components: Blink>Input
Cc: brajkumar@chromium.org
Labels: -M-55 M-57
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on Windows-10 using chrome latest stable M55-55.0.2883.52 by following steps mentioned in the original comment. On continuous dragging of both sliders, observed the second slider goes unresponsive. 

The slider is not working on chrome earlier version M35-35.0.1849.0, Hence tested on #40.0.2172.0 and observed the issue persists over there as well. This is non-regression and marking it as untriaged.

Thanks!
Cc: dtapu...@chromium.org
Owner: majidvp@chromium.org
Status: Assigned (was: Untriaged)
Enable Scrolling Performance Issues in devtools and you will see that the touch event listener areas aren't always updating correctly. If a layout is forced then they get updated correctly.

So ScrollingCoordinator isn't kicking in to update the touch rects because of possibly a simplified layout.

Comment 5 by yigu@chromium.org, Dec 15 2016

Cc: majidvp@chromium.org
Owner: yigu@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3ad9090bc969c9e2b450ec249d4dfac398bb27b8

commit 3ad9090bc969c9e2b450ec249d4dfac398bb27b8
Author: yigu <yigu@chromium.org>
Date: Fri Jan 13 16:49:49 2017

Fix touch event flag may not be updated correctly by transform which causes no layout

BUG= 673102 
TEST=third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-geometry-change-as-touch-notified-by-nolayout.html
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2600593002
Cr-Commit-Position: refs/heads/master@{#443580}

[modify] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout-expected.txt
[add] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout.html
[modify] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp
[modify] https://crrev.com/3ad9090bc969c9e2b450ec249d4dfac398bb27b8/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h

Comment 7 by yigu@chromium.org, Jan 13 2017

Status: Fixed (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4141f530d2d03c42cba3fb5c0949fd33fff0f36f

commit 4141f530d2d03c42cba3fb5c0949fd33fff0f36f
Author: xlai <xlai@chromium.org>
Date: Fri Jan 13 20:35:11 2017

Revert of Fix touch event flag may not be updated correctly by transform which causes no layout (patchset #7 id:120001 of https://codereview.chromium.org/2600593002/ )

Reason for revert:
Suspecting that this CL is causing failure of
fast/events/touch/gesture/pad-gesture-fling.html
On WebKit Win7 (dbg) because it is the only CL that
modifies touch event.

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7%20%28dbg%29/builds/8720

Original issue's description:
> Fix touch event flag may not be updated correctly by transform which causes no layout
>
> BUG= 673102 
> TEST=third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-geometry-change-as-touch-notified-by-nolayout.html
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
>
> Review-Url: https://codereview.chromium.org/2600593002
> Cr-Commit-Position: refs/heads/master@{#443580}
> Committed: https://chromium.googlesource.com/chromium/src/+/3ad9090bc969c9e2b450ec249d4dfac398bb27b8

TBR=chrishtr@chromium.org,majidvp@chromium.org,yigu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 673102 

Review-Url: https://codereview.chromium.org/2631783003
Cr-Commit-Position: refs/heads/master@{#443650}

[modify] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[delete] https://crrev.com/40f0a33245340957d97275426abe26b3894fcc47/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout-expected.txt
[delete] https://crrev.com/40f0a33245340957d97275426abe26b3894fcc47/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout.html
[modify] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp
[modify] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48e70529c038713fe0b2ddd21d555a2791f95071

commit 48e70529c038713fe0b2ddd21d555a2791f95071
Author: yigu <yigu@chromium.org>
Date: Mon Jan 16 18:07:39 2017

Fix touch event flag may not be updated correctly by transform which causes no layout

BUG= 673102 
TEST=third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-geometry-change-as-touch-notified-by-nolayout.html
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2600593002
Cr-Original-Commit-Position: refs/heads/master@{#443580}
Committed: https://chromium.googlesource.com/chromium/src/+/3ad9090bc969c9e2b450ec249d4dfac398bb27b8
Review-Url: https://codereview.chromium.org/2600593002
Cr-Commit-Position: refs/heads/master@{#443921}

[modify] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout-expected.txt
[add] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/LayoutTests/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout.html
[modify] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp
[modify] https://crrev.com/48e70529c038713fe0b2ddd21d555a2791f95071/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h

Cc: rbasuvula@chromium.org
Labels: TE-NeedsTriageFromMTV OS-Windows
Verified this issue on Windows-7 using chrome latest dev M57-57.0.2984.0 by following steps mentioned in the original comment. Observed that Both sliders are working as expected.

Please find the screen cast for reference.

Note : Need to verify in linux touch screen.So adding TE-NeedsTriageFromMTV label for further testing.

Thank you!
673102.mp4
975 KB View Download

Comment 11 by yigu@chromium.org, Apr 5 2017

Cc: rbyers@chromium.org yigu@chromium.org flackr@chromium.org keanulee@google.com le...@chromium.org vollick@chromium.org
 Issue 312969  has been merged into this issue.

Sign in to add a comment