Intent to prototype and ship: Navigation API

141 views
Skip to first unread message

Andreas Farre

unread,
Nov 7, 2025, 2:15:49 AM (5 days ago) Nov 7
to dev-pl...@mozilla.org
As of Firefox 147, I intend to turn on support for the Navigation API
for all platforms supporting Session History in the parent (SHIP).

The Navigation API provides the ability to initiate, intercept, and
manage browser navigation actions. It can also examine an
application's history entries. This is a successor to previous web
platform features such as the History API and window.location.

The Navigation API has been implemented as part of the Interop 2025
effort to improve web interoperability.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1777171

Bug to turn on by default: https://bugzilla.mozilla.org/show_bug.cgi?id=1997962

Specification: https://html.spec.whatwg.org/#navigation-interface

Platform coverage: All platforms

Navigation API depends on SHIP (Session History in Parent process)
being available, which is currently in the process of being enabled on
Android. Should blocking issues occur with that project, this would be
adjusted to Desktop only.

Preference: dom.navigation.webidl.enabled

DevTools bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1991928

Link to standards-positions discussion: https://github.com/whatwg/html/pull/8502

Other browsers:
* Blink: Shipped in version 102
* WebKit: Implemented but not shipped.
https://bugs.webkit.org/show_bug.cgi?id=258384

web-platform-tests:
* navigation-api/

How stable is the spec: Navigation API has been a part of the HTML
spec since June 2023 but still suffers from maturity issues. Several
areas are currently being contended, in particular in the areas of
event ordering and internal state consistency. This has led to the
following, hopefully temporary, Gecko spec deviations:
* Navigation API being disabled in `javascript:` URIs
* Navigation API being disabled in `<object>` and `<embed>`
* Timing hacks in the implementation of NavigateEvent dispatch to
keep state consistent

Cheers!

--
farre
Reply all
Reply to author
Forward
0 new messages