New issue
Advanced search Search tips

Issue 607245 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 599609



Sign in to add a comment

Add metrics to record preventDefaulted event handler for touch starts while there is an active fling animation.

Project Member Reported by lanwei@chromium.org, Apr 27 2016

Issue description

alexclarke@ proposed that we treat all touchstart event listeners as passive while there’s an active fling animation.

To measure the breakage caused by this, we are adding an UMA metric measuring how often blocking touchstart listeners during fling call preventDefault().

We will also measure its benefit by recording the time between when touch starts handled by blocking listeners which will be treated as passive are dispatched to the renderer and when they’re acked.

Details are in the doc:
https://docs.google.com/document/d/10O_wMEpKgnhCfEQ8L3JckEKvkcclwEwCLtL0nSl7usA/

 
Project Member

Comment 1 by bugdroid1@chromium.org, May 17 2016

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

commit 8f486d67c25c4c856ea02ecf0edc02757884bd46
Author: lanwei <lanwei@chromium.org>
Date: Tue May 17 18:56:27 2016

Add UMA metric for tracking listeners for blocking touch while fling is happening.

In the touch scrolling intervention proposal, alexclarke@ proposed that we could treat
all touchstart event listeners as passive while there’s an active fling animation.
We are adding a metric that records when touchstarts are successfully preventDefaulted()
during fling to measure breakage of event handlers.

BUG= 607245 

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

[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/blimp/client/feature/compositor/blimp_input_handler_wrapper.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/blimp/client/feature/compositor/blimp_input_handler_wrapper.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/android/synchronous_compositor_filter.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/android/synchronous_compositor_filter.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_event_filter.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_event_filter.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_handler_manager.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_handler_manager.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_handler_manager_client.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_handler_wrapper.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/input_handler_wrapper.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/content/renderer/mus/compositor_mus_connection_unittest.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/third_party/WebKit/Source/core/input/TouchEventManager.cpp
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/third_party/WebKit/Source/platform/PlatformTouchEvent.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/third_party/WebKit/Source/web/WebInputEventConversion.cpp
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/third_party/WebKit/public/web/WebInputEvent.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/ui/events/blink/input_handler_proxy.cc
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/ui/events/blink/input_handler_proxy_client.h
[modify] https://crrev.com/8f486d67c25c4c856ea02ecf0edc02757884bd46/ui/events/blink/input_handler_proxy_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, May 18 2016

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

commit 6656a45aef6475f32b020285251f4782d8eaeb31
Author: lanwei <lanwei@chromium.org>
Date: Wed May 18 21:55:07 2016

Add UMA metric to track the time saved on making events passive during fling.

In the touch scrolling intervention proposal, we could treat all touchstart event
listeners as passive while there’s an active fling animation.

We are adding a metric that records the time we saved on making touchstarts passive
during fling.

This patch depends on issue 1923973002.

BUG= 607245 

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

[modify] https://crrev.com/6656a45aef6475f32b020285251f4782d8eaeb31/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/6656a45aef6475f32b020285251f4782d8eaeb31/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/6656a45aef6475f32b020285251f4782d8eaeb31/tools/metrics/histograms/histograms.xml

Comment 3 by lanwei@chromium.org, May 20 2016

Status: Fixed (was: Started)
Status: Started (was: Fixed)
We should also record the blocking first touch move listeners after each touch start during fling, which are called preventDefault().
 
Labels: -Pri-1 Pri-2
Down prioritizing this fix.

Comment 7 by lanwei@chromium.org, Oct 11 2016

Status: Fixed (was: Started)

Sign in to add a comment