New issue
Advanced search Search tips

Issue 692604 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Smooth scroll not cancelled by programmatic scroll

Reported by yavano...@yandex-team.ru, Feb 15 2017

Issue description

UserAgent: 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

 

Comment 1 Deleted

Oh, sorry. I think it lost because of additional captcha screen in issue wizard.

Here is test.html and screencast.
test.html
616 bytes View Download
Screencast 2017-02-15.mp4
629 KB View Download

Comment 3 by woxxom@gmail.com, 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
Labels: Needs-Triage-M56
Cc: ligim...@chromium.org
Labels: M-58
Owner: danakj@chromium.org
Status: Assigned (was: Unconfirmed)
Assigning to the owner of the above CL.Tagging with current canary milestone.

Comment 6 by danakj@chromium.org, Feb 16 2017

Components: -Blink Internals>Compositing>Animation Blink>Scroll
Labels: OS-Linux OS-Mac

Comment 7 by danakj@chromium.org, 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.

Comment 8 by danakj@chromium.org, Feb 16 2017

Cc: bokan@chromium.org

Comment 9 by danakj@chromium.org, Feb 17 2017

Cc: danakj@chromium.org
Owner: bokan@chromium.org
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?

Comment 10 by bokan@chromium.org, Feb 21 2017

Cc: -danakj@chromium.org skobes@chromium.org
Owner: danakj@chromium.org
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.
Owner: skobes@chromium.org
Summary: Smooth scroll not cancelled by programmatic scroll (was: Smooth scrooll does not take into account scroll changes from JS)
Yes the programmatic scroll is supposed to cancel the animation.
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).
Labels: Hotlist-Polish
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment