Scrolling cannot stop immediately when I touch the viewport again
Reported by
wdhwg...@gmail.com,
Jan 7
|
||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3662.0 Safari/537.36 Steps to reproduce the problem: 1. Make sure you are using windows with a touch screen (I'm using Surface Book 2 15') 2. Open a page that is larger than the viewport. (e.g. https://github.com/) 3. Touch the viewport, slide up quickly and lift your finger to make the page scroll continually 4. Touch the viewport again What is the expected behavior? It should stop scrolling immediately, like in Microsoft Edge or mobile browsers. What went wrong? It scroll down a short(barely noticeable) distance before fully stop. Did this work before? No Chrome version: 73.0.3662.0 Channel: canary OS Version: 10.0 Flash Version:
,
Jan 7
Can not reproduce issue on Surface Go Win10 1809 Chrome 73.0.3664.0 canary.
,
Jan 7
Maybe try this page: https://www.chromium.org/developers/calendar There's a table named "OmahaProxy CSV Viewer", you can scroll the page with your finger, and re-touch the center of viewport again. If you try this several times, you may find that sometimes when the page stops, a row of the table will be highlighted, but your finger is actually touching somewhere on the viewport above/below the row.
,
Jan 8
Unable to reproduce the issue on reported chrome version 73.0.3662.0 using Windows 10 Surface Pro 1803 with the below mentioned steps. 1. Launched Chrome 2. Navigated to https://www.chromium.org/developers/calendar 3. Scrolled the page using touch. 4. Touched the screen while the page is being scrolled. 5. Repeated steps 3-4 multiple times. In the process we have observed the page stopped scrolling instantaneously when touched. @Reporter: Could you please check the same in a new profile without any apps & extensions and let us know if the issue still persists.
,
Jan 8
You can try this:
HTML:
<html><body></body></html>
JS:
var str = '';
for (var i=0; i<200; i++){
str += '<p>The quick brown fox jumps over a lazy dog.</p>';
}
document.body.innerHTML = str;
function handleStart(evt) {
evt.preventDefault();
var touch = evt.changedTouches[0];
box = '<div style="position: absolute; width: 5px; height: 5px; background: red; top: '+touch.pageY+'px; left: '+ touch.pageX +'px"></div>';
document.body.innerHTML+=box;
}
document.body.addEventListener("touchstart", handleStart, false);
You may notice that when you touch the page again, the small red box may not be exactly under your finger.
I think if the page scrolling stops immediately, the red box should be exactly under your finger, which means when touchstart event triggered, the scrolling should be already stopped.
I tried this and can reproduce on Chrome 73 using Windows 10 1803 Surface Book 2.
,
Jan 8
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 10
I believe this effect is due to the fact that our raw events and gesture events have different queue and the raw event is fired to the renderer and might be handled on the main thread but cc is still scrolling the previous fling generated GSUs. bokan@ what do you think?
,
Jan 10
Adding the jsbin link to make it easy to test: https://output.jsbin.com/qojoqo
,
Jan 10
This is due to the fling boosting logic: When the user touches the screen to cancel the fling, the fling does not stop immediately instead it waits for 50ms (https://cs.chromium.org/chromium/src/ui/events/blink/fling_booster.cc?gsn=ShouldSuppressTapDown&q=fling_booster&g=0&l=23). 50ms is enough for 2-3 frames and depending on fling velocity some scrolling happens before fling cancelation.
,
Jan 18
(4 days ago)
Yeah, tuning this to be more immediate would make fling boosting feel worse. IMHO, the current balance struck is works well so absent a compelling reason I don't think we should change anything here. wdhwg001@, is there a particular use-case where this is more noticeable or hurts UX significantly? Sahel, do you know what Edge does? Do they have fling boosting? |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by phanindra.mandapaka@chromium.org
, Jan 7