Parent: #267. Webview epic: #264.
Problem
The capped per-frame history supported same-document traversal but could not restore prior cross-document entries. Nested back/forward traversal must run the established lifecycle, preserve stable WindowProxy identity and reflected iframe src, restore entry state, dispatch traversal events in order and retire outgoing work without implementing unsupported joint top-level history or bfcache.
Implemented boundary
- Traverse prior/next cross-document entries in the active nested frame's bounded history.
- Run the established beforeunload/pagehide/visibility/unload and replacement lifecycle.
- Preserve stable WindowProxy identity and reflected
src behavior.
- Restore entry state and dispatch
popstate where applicable.
- Retire outgoing tasks/resources and protect against reentrant traversal.
- Add WPT-shaped/native source contracts and validation/deferred documentation.
Joint top-level session history, bfcache, POST reload/resubmission and cumulative unchanged webview acceptance.
Validation boundary
git diff --check passed. Authored contracts were not executed under the current implementation-throughput direction.
Parent: #267. Webview epic: #264.
Problem
The capped per-frame history supported same-document traversal but could not restore prior cross-document entries. Nested back/forward traversal must run the established lifecycle, preserve stable WindowProxy identity and reflected iframe
src, restore entry state, dispatch traversal events in order and retire outgoing work without implementing unsupported joint top-level history or bfcache.Implemented boundary
srcbehavior.popstatewhere applicable.Deferred to #267/#268
Joint top-level session history, bfcache, POST reload/resubmission and cumulative unchanged webview acceptance.
Validation boundary
git diff --checkpassed. Authored contracts were not executed under the current implementation-throughput direction.