New issue
Advanced search Search tips

Issue 715148 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-04-06
OS: All
Pri: 3
Type: Bug

Blocking:
issue 805007



Sign in to add a comment

Touch-action directions should be relative to client coordinate space

Project Member Reported by mustaq@chromium.org, Apr 25 2017

Issue description

For example, "touch-action: pan-x" should allow panning along the x-direction in the coordinate space of the element. For a div/frame rotated by 90 or 270 degrees, it is would be panning in the y direction in the screen coordinate space.

Spec discussion: https://github.com/w3c/pointerevents/issues/115
Repro: https://people.mozilla.org/~kgupta/examples/w3c-pe-114.html

We should fix at least the orthogonal rotation cases (i.e. rotation by multiples of 90 degrees).

Both Edge & FF touch-action directions are w.r.t. the client coordinate space. (Note that FF scrolling direction is still in the screen coordinate space, but touch-action filtering decision is correct.)
 

Comment 1 by mustaq@chromium.org, Apr 25 2017

Owner: mustaq@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 5 2017

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

commit 49f0e5f20d6e193faa998afbd30a08ae7283585d
Author: Mustaq Ahmed <mustaq@google.com>
Date: Mon Jun 05 18:04:36 2017

Added a test for touch-action in rotated divs

Tests that touch-action directions in a div rotated by 90-degrees are interpreted in the local (rotated) coordinate space.

Fixes w3c/pointerevents#115.

Bug: 715148
Change-Id: I2c4b62d250ceb65900b81ffc58ad1ac3fd9c1065
Reviewed-on: https://chromium-review.googlesource.com/521931
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477025}
[modify] https://crrev.com/49f0e5f20d6e193faa998afbd30a08ae7283585d/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/49f0e5f20d6e193faa998afbd30a08ae7283585d/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html
[add] https://crrev.com/49f0e5f20d6e193faa998afbd30a08ae7283585d/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual-automation.js

Cc: nzolghadr@chromium.org
Blocking: 805007
Labels: PointerEvent
Still an issue.
Failing test:
http://w3c-test.org/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html

Mustaq do you have time to address this issue?

Comment 5 by mustaq@chromium.org, Jan 23 2018

NextAction: 2018-04-06
Will look into it next quarter.
Cc: mustaq@chromium.org
Owner: nzolghadr@chromium.org
Status: Started (was: Available)
Talked with Mustaq offline. I'll take over this bug.
Cc: flackr@chromium.org
Status: Assigned (was: Started)
Robert, we talked in an offline thread with harder scenarios than only 90 degree rotations and you brought up a good point that is cannot be solved with only a mapping on top of the existing touch-actions in Blink. How do you think we should proceed with this issue?

Comment 8 by flackr@chromium.org, Mar 21 2018

I suggest returning the transform of the targeted scroller with the touch-action and then limiting the scroll to the x or y direction vectors with that transform as the allowed directions when only one axis is allowed. That should get the expected behavior.
The NextAction date has arrived: 2018-04-06
Owner: xidac...@chromium.org
over to Xida as he has a better idea what should be done here.

Sign in to add a comment