Bug 261273 - REGRESSION(262812@main): No render updates after cross origin history navigation
Summary: REGRESSION(262812@main): No render updates after cross origin history navigation
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Carlos Garcia Campos
URL:
Keywords: Gtk, Regression
Depends on:
Blocks:
 
Reported: 2023-09-07 05:32 PDT by Carlos Garcia Campos
Modified: 2023-09-07 08:39 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 Carlos Garcia Campos 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.
Comment 1 Carlos Garcia Campos 2023-09-07 05:38:55 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17539
Comment 2 EWS 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.