Bug 273956
| Summary: | [Navigation] Improve maintaining the entries list and their interaction with HistoryItems. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Patrick Griffis <pgriffis> |
| Component: | WebCore Misc. | Assignee: | Patrick Griffis <pgriffis> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | fujii.hironori, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=274368 https://bugs.webkit.org/show_bug.cgi?id=283136 |
||
| Bug Depends on: | |||
| Bug Blocks: | 258384 | ||
Patrick Griffis
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Patrick Griffis
Pull request: https://github.com/WebKit/WebKit/pull/28346
Radar WebKit Bug Importer
<rdar://problem/128207459>
EWS
Committed 278960@main (7e54fb8ea939): <https://commits.webkit.org/278960@main>
Reviewed commits have been landed. Closing PR #28346 and removing active labels.
Fujii Hironori
Regressed: Bug 274368 – REGRESSION(278960@main): http/tests/security/no-indexeddb-from-sandbox.html is recently randomly crashing