Bug 210034 - Scrolling thread doesn't send balanced wheelEvents to the main thread
Summary: Scrolling thread doesn't send balanced wheelEvents to the main thread
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-05 10:36 PDT by Simon Fraser (smfr)
Modified: 2020-07-14 20:41 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2020-04-05 10:36:59 PDT
If a gesture starts in the non-fast-scrollable region, but outside of any scroller, then the 'began' event bounces from the EventHandler thread to the main thread, and is seen by main thread wheel event handling code.

However, that code bounces the event back to the scrolling thread, where it can trigger latching on a scrolling node.

Subsequent events the same gesture are all then consumed by the scrolling thread, so the main thread never sees an 'ended' event, and doesn't know to clear main thread latched state.
Comment 1 Simon Fraser (smfr) 2020-07-14 20:41:40 PDT
Also, with slow-scrolling overflow inside the page, we don't send balanced wheel events from the main thread to the scrolling thread.