Skip to content

Traverse bounded nested cross-document history #593

Description

@wieslawsoltes

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.

Deferred to #267/#268

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions