Skip to content

History API metabug #10992

@cbrewster

Description

@cbrewster

This issue will keep track of everything needed to fully implement the History API

The History interface:

Spec: https://html.spec.whatwg.org/multipage/browsers.html#the-history-interface

Task Source and Events

Specs:
https://html.spec.whatwg.org/multipage/webappapis.html#history-traversal-task-source
https://html.spec.whatwg.org/multipage/browsers.html#the-popstateevent-interface
https://html.spec.whatwg.org/multipage/browsers.html#hashchangeevent
https://html.spec.whatwg.org/multipage/browsers.html#pagetransitionevent

Browsing Context (Edit: Now WindowProxy)

History State

  • Create a StateId type to refer to the associated JS state for a session history entry. Serialized history states should be stored in a resource thread and freed when no longer accessible. Once a state becomes activated, it must be deserialized and stored by the History object. (Implement History State #20638)

Constellation

URLs and Hash Change

  • History state diffs should track URL changes
  • Scrolling to fragment should trigger a hash change event and add a new diff in the session history
  • Hash change events should be fired when the hash changes during a history traversal.

Scroll Restoration

  • Save scroll offset in session history and restore the scroll location on navigation depending on the value of ScrollRestoration

Testing

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-constellationInvolves the constellationA-content/domInteracting with the DOM from web contentB-metaThis issue tracks the status of multiple, related pieces of work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions