Bug 261273

Summary: REGRESSION(262812@main): No render updates after cross origin history navigation
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, Regression
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Carlos Garcia Campos
Reported 2023-09-07 05:32:46 PDT
This regressed in 262812@main because we moved the code to enter AC mode when always compositing to the DrawingArea constructor to make sure the UI process starts receiving IPC messages for the new drawing area as soon as possible after a drawing area switch due to cross origin navigation. The problem now is when going back after a cross origin navigation because there's a display refresh monitor switch too, but to create the proper display refresh monitor we need an already created drawing area, since WebChromeClient::displayRefreshMonitorFactory() returns the WebPage drawing area, not yet set during its constructor. So, we need to enter AC mode right after the drawing area is created instead of in the constructor to ensure the right display refresh monitor is created. This doesn't fail in GTK3 because we create a DisplayRefreshMonitorGtk, but that's not the right one either, since it's expected to be used only for non-AC mode.
Attachments
Carlos Garcia Campos
Comment 1 2023-09-07 05:38:55 PDT
EWS
Comment 2 2023-09-07 08:39:42 PDT
Committed 267733@main (44051cb8e33a): <https://commits.webkit.org/267733@main> Reviewed commits have been landed. Closing PR #17539 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.