Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 529295 touch-action zoom state shouldn't reset at scrollers
Starred by 3 users Project Member Reported by rbyers@chromium.org, Sep 8 2015 Back to list
Status: Fixed
Owner:
Closed: Dec 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment
Test page: http://jsbin.com/tipure/

On Edge / IE: double-tapping on the scroller does not zoom, and taps are registered immediately.
In Chrome, double-tapping the scroller does zoom.

This means the simple guidance "use 'touch-action: manipulation' to disable the click delay" isn't actually sufficient.

I believe blink matches the spec, but we should change the spec and blink to match the Edge behavior (will start a thread on public-pointer-events).

In particular, we probably want to keep walking up the tree beyond scrollers to consider just the zoom-related parts of touch-action.  Let's wait to see what exact wording the PEWG agrees on for the spec though.

 
pointer events spec issue: https://github.com/w3c/pointerevents/issues/19

Note that I marked this pri-1 as I believe this property is important for good click-delay avoidance (which is a major problem on the web).
Comment 2 by rbyers@chromium.org, Oct 22 2015
Cc: dtapu...@chromium.org
Owner: rbyers@chromium.org
I can take this.
Comment 3 by rbyers@chromium.org, Oct 22 2015
Status: Started
Comment 4 by rbyers@chromium.org, Oct 28 2015
Labels: -M-47 M-48
Iframe-based test case: http://jsbin.com/kamipuc

Project Member Comment 6 by bugdroid1@chromium.org, Dec 4 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41596bf935a7e28617a668f90f53590e357bc50a

commit 41596bf935a7e28617a668f90f53590e357bc50a
Author: rbyers <rbyers@chromium.org>
Date: Fri Dec 04 22:39:16 2015

Don't reset touch-action zoom state at scrollers

This ensures that when a page disables double-tap zoom (eg. via
touch-action: manipulation) and hence the click delay, it stays
disabled even when tapping inside a scroller or iframe.

See https://github.com/w3c/pointerevents/issues/19 for details.

Also removes 'toCoreFrame' declaration which has no implementation
anywhere.  I needed this from my test but discovered the common
pattern was to just invoke the toImplBase method directly.

BUG= 529295 

Review URL: https://codereview.chromium.org/1498923004

Cr-Commit-Position: refs/heads/master@{#363310}

[modify] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/Source/core/input/TouchActionUtil.cpp
[modify] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/Source/web/tests/TouchActionTest.cpp
[add] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/Source/web/tests/data/touch-action-iframe.html
[modify] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/Source/web/tests/data/touch-action-overflow.html
[modify] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/Source/web/tests/data/touch-action-tests.css
[modify] http://crrev.com/41596bf935a7e28617a668f90f53590e357bc50a/third_party/WebKit/public/web/WebFrame.h

Status: Fixed
Labels: -M-48 M-49
Sign in to add a comment