Bug 261273
Summary: | REGRESSION(262812@main): No render updates after cross origin history navigation | ||
---|---|---|---|
Product: | WebKit | Reporter: | Carlos Garcia Campos <cgarcia> |
Component: | WebKitGTK | Assignee: | 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
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Carlos Garcia Campos
Pull request: https://github.com/WebKit/WebKit/pull/17539
EWS
Committed 267733@main (44051cb8e33a): <https://commits.webkit.org/267733@main>
Reviewed commits have been landed. Closing PR #17539 and removing active labels.