Smooth scroll not cancelled by programmatic scroll
Reported by
yavano...@yandex-team.ru,
Feb 15 2017
|
||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.28 YaBrowser/17.3.0.960 Yowser/2.5 Safari/537.36 Example URL: Steps to reproduce the problem: 0. Make shure that smooth scroll is enabled 1. Open attached test.html page 2. Scroll down to completly move red rectangle out of the screen 3. Now scroll up to red rectangle What is the expected behavior? When one single pixel of the red rectangle will appear on the screen JS code should scroll whole page to top. What went wrong? Because of thmooth scrooling everything starts shaking and flashing on screen. At final page is not scrolled to top on 50% of tests. I've attached video with problem Does it occur on multiple sites: Yes Is it a problem with a plugin? No Did this work before? N/A Does this work in other browsers? N/A Chrome version: 56.0.2924.28 Channel: n/a OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 24.0 r0
,
Feb 16 2017
Oh, sorry. I think it lost because of additional captcha screen in issue wizard. Here is test.html and screencast.
,
Feb 16 2017
Also seen in the latest 58.0.3013.0 canary. Bisect: 362823 (good) - 362841 (bad), 49.0.2580.0 https://chromium.googlesource.com/chromium/src/+log/4c3b7a4d..b5440a97?pretty=fuller Suspecting r362832 ( issue 522658 ) "cc: Animate from LayerTreeHostImpl, remove Animate step from scheduler" To reproduce, make sure smooth scrolling is enabled in chrome://flags or add it to the command line chrome --enable-smooth-scrolling
,
Feb 16 2017
,
Feb 16 2017
Assigning to the owner of the above CL.Tagging with current canary milestone.
,
Feb 16 2017
,
Feb 16 2017
I can reproduce it on linux. The scrollbar jumps between where JS is trying to put it and where the animation is trying to put it continuously until the animation stops. Then I imagine its chance which one went last.
,
Feb 16 2017
,
Feb 17 2017
I've build content shell at b5440a97a6472eb3bde1b1481c765a34d977bed1 and can repro there with --enable-smooth-scroll. Reverting my CL a18e826a670891d5804c8aced282761834741e8b does make the problem stop.. in that JS stops doing anything and only the smooth scroll works. I get the feeling the JS is supposed to interrupt the smooth scroll tho and be the authority in this case. bokan@ can you confirm?
,
Feb 21 2017
Yes, I believe a programmatic scroll should cancel any user animations - not sure why that's not happening in this case. Dana, I'm guessing your CL changed the timing of the animation in a subtle way that breaks the cancellation? +skobes@ since he's the smooth scroll expert.
,
Feb 21 2017
Yes the programmatic scroll is supposed to cancel the animation.
,
Feb 21 2017
The programmatic scroll is not working before or after my CL. Before, the programatic scroll had zero effect (smooth scroll just continues cleanly). After, it does have an effect but it fights with the smooth scroll (see an alternation between the two).
,
Feb 6 2018
,
Feb 9 2018
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 Deleted