Bug 252044

Summary: [GTK][WPE] Poor scrolling performance after a history navigation with PSON enabled
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Carlos Garcia Campos <cgarcia>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply
Priority: P2 Keywords: Gtk
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Carlos Garcia Campos 2023-02-10 04:04:28 PST
With PSON, when there's a history navigation the WebPage replaces the drawing area with a new one. In case of coordinated graphics, the new drawing area ends up using the wrong display refresh monitor because DrawingArea::createDisplayRefreshMonitor() is not called. We call WebPage::windowScreenDidChange() after creating the LayerTreeHost to ensure DrawingArea::createDisplayRefreshMonitor() is called, but in this case the page is the same, and the displayID hasn't really changed. So, we need to ensure that the displayID we create is not based on WebPage unique identifier, but on DrawingArea's because the ThreadedDisplayRefreshMonitor needs to be created for every DrawingArea, not WebPage.
Comment 1 Carlos Garcia Campos 2023-02-10 04:09:35 PST
Pull request: https://github.com/WebKit/WebKit/pull/9919
Comment 2 EWS 2023-02-13 05:21:18 PST
Committed 260195@main (1f5e2e27dc7c): <https://commits.webkit.org/260195@main>

Reviewed commits have been landed. Closing PR #9919 and removing active labels.