RESOLVED FIXED273956
[Navigation] Improve maintaining the entries list and their interaction with HistoryItems.
https://bugs.webkit.org/show_bug.cgi?id=273956
Summary [Navigation] Improve maintaining the entries list and their interaction with ...
Patrick Griffis
Reported 2024-05-09 10:06:14 PDT
This changes a few areas but it all adds up to solving the same problems. I'll go over the changes by entry point: - navigation.navigate() takes a historyHandling argument that controls the history behavior all the way down. - navigation.back/forward/traverseTo load the known HistoryItem instead of loading a URL as well as specify the correct FrameLoadType. - the location APIs use the proper historyHandling. - navigation.entries() is more accurately maintained: - On reactivation (loading a cached page from history) we regenerate the entires. - On a cross-document navigation we filter out any cross-origin entries. - history.pushState/history.replaceState changes are reflected in entries. - This also no longer changes the key of replaced entries. - Traversal events use the proper HistoryItem. This all leads to a more consistent and correct list of entries. In order for adding these entries to work there were also a few dispatches of NavigateEvent in the expected places like during a history traversal or history state change.
Attachments
Patrick Griffis
Comment 1 2024-05-09 10:09:25 PDT
Radar WebKit Bug Importer
Comment 2 2024-05-16 10:07:13 PDT
EWS
Comment 3 2024-05-18 13:26:05 PDT
Committed 278960@main (7e54fb8ea939): <https://commits.webkit.org/278960@main> Reviewed commits have been landed. Closing PR #28346 and removing active labels.
Fujii Hironori
Comment 4 2024-05-19 13:23:00 PDT
Regressed: Bug 274368 – REGRESSION(278960@main): http/tests/security/no-indexeddb-from-sandbox.html is recently randomly crashing
Note You need to log in before you can comment on or make changes to this bug.