Bug 219308

Summary: [GTK][WPE] Async scrolling udpates are blocked in the main thread
Product: WebKit Reporter: Alejandro G. Castro <alex>
Component: WPE WebKitAssignee: Alejandro G. Castro <alex>
Status: RESOLVED FIXED    
Severity: Normal CC: annulen, benjamin, bugs-noreply, cdumez, changseok, clord, cmarcelo, esprehn+autocc, ews-watchlist, fred.wang, gyuyoung.kim, jamesr, keith_miller, luiz, mark.lam, msaboff, ryuan.choi, saam, sergio, simon.fraser, tonikitoo, tzagallo, zeno
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch for landing
ews-feeder: commit-queue-
Patch for landing none

Description Alejandro G. Castro 2020-11-27 08:42:39 PST
After some changes in the scrolling code WPE and GTK are not handling the scrolling thread independently when the frameDone happens, they rely on the main thread, that causes freezing in the UI.
Comment 1 Alejandro G. Castro 2020-11-27 09:19:42 PST
Created attachment 414950 [details]
Patch
Comment 2 Alejandro G. Castro 2020-11-27 09:28:19 PST
Regarding the problem of avoiding hasProcessedWheelEventsRecently, probably Simon can help us to clarify how Apple ports are implementing the kinetic scrolling. WPE and GTK animation based on the class ScrollAnimationKinetic that inherits from ScrollAnimation. We would like to change this and make it as similar to the Apple ports as possible to make sure it is harder we break each other ports.

The ScrollAnimationKinetic is moving the position using scrollTo directly using a timer, I guess that is not how your ports is doing it?

Thanks for the clarifications in advance.
Comment 3 Alejandro G. Castro 2020-12-01 01:17:44 PST
Created attachment 415111 [details]
Patch for landing
Comment 4 Alejandro G. Castro 2020-12-01 01:53:42 PST
Created attachment 415113 [details]
Patch for landing
Comment 5 EWS 2020-12-01 01:59:09 PST
Patch 415111 does not build
Comment 6 EWS 2020-12-01 02:26:46 PST
Committed r270292: <https://trac.webkit.org/changeset/270292>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415113 [details].