Skip to content

Navigation API: Change tests to align with spec in the case of #wait-for-all in #commit-a-navigate-event #57165

@farre

Description

@farre

As has been discussed in whatwg/html#11845, there is an inconsistency between the specification and tests in navigation-api/, in particular (but not exclusively) in navigation-api/ordering-and-transition/.

This shows up in e.g. event ordering and event types, and is due to the fact that the spec wants the failure and sucess handlers in #commit-a-navigate-event to be called in the same microtask run where the last promise in the promise list resolves, but tests expects them to be called in the following microtask run.

As discussed in whatwg/html#11845 there are several reasons for why spec is right and tests are wrong, but foremost it is the fact that successful synchronous navigations (that actually get entries in session history) will result in onnavigateerror being dispatched.

It is my intention to go through an list these tests here, and then fix them. This includes several tests that were part of Interop 2025, where most, but not all were excluded late in 2025.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions