New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 874072 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocked on:
issue 874836



Sign in to add a comment

Using autoscroll feature blocks callbacks from timeout and ajax until MMB is released

Reported by adam.bed...@gmail.com, Aug 14

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

Steps to reproduce the problem:
1. Add a new scroll event listener on any sufficiently long page, with a timeout inside the event
2. Make the timeout log something to the console
3. Use autoscroll (clickdown and drag middle mouse button) to scroll the page

What is the expected behavior?
The console should log as the page scrolls

What went wrong?
The console prints out all the logs only when the middle mouse button is released. After doing this five times, it will work as expected for timeout, but not for other functions with callbacks such as jQuery ajax.

Did this work before? N/A 

Chrome version: 68.0.3440.106  Channel: stable
OS Version: 10.0
Flash Version: 

I don't think this is expected behaviour as it works fine in all other browsers I've tried and is a required feature for infinite scrolling websites.
 
Cc: bokan@chromium.org
Components: -Blink Blink>Input
Hi David - could you take a look to see if this is due to something in Scrolling, or some other area?
Cc: sahel@chromium.org altimin@chromium.org
Components: -Blink>Input Blink>Scroll
Owner: chaopeng@chromium.org
Status: Assigned (was: Unconfirmed)
Sounds like the scheduling issue we saw for wheel scrolling in  bug 828235 . Chao, can you please confirm and see if we can land a similar fix for autoscrolling?
Cc: skyos...@chromium.org
I think this issue is causing by we always ShouldPrioritizeInputEvent true for autoscroll since it has mouse button down.

https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc?rcl=c0d5967e4471eb47aa0374f254b55c9d832ba81c&l=1108

It is different with  bug 828235 .

Maybe we can ShouldPrioritizeInputEvent true for first middle button click but false for middle button holding. But we still have same issue for left button pressing on scrollbar button.

Sami, PTAL, Thank you.
Not sure if I'm misunderstanding what is being said, but left button pressing on the scrollbar (both the down button and moving the bar itself) seems to work fine for me, it's only on autoscrolling.
It seems that it's another bug due to our "don't run these tasks" intervention. I'm planning to remove it after landing some more scrolling improvements (hopefully these improvements would make the blocking logic obsolete and removing it wouldn't cause any significant regressions).

I'm planning to look into this sometime early Q4, but if you have any spare cycles, you are very welcome to take a look an I'd be happy to help.
Cc: chaop...@gmail.com
Owner: altimin@chromium.org
Components: Blink>Scheduling
Blockedon: 874836

Sign in to add a comment