As part of the interop 2026 effort to align navigation API implementations across browsers, we've made a few subtle behavior changes to the navigation API. Most users should not be affected. The main impact is avoiding `navigateerror` events from firing when no error occurred.
The changes are as follows: (1) A navigation succeeds synchronously if it is not synchronously intercepted/aborted. Before this change, navigating multiple times in the same synchronous execution (e.g. calling `location.href` with a hash multiple times) would trigger `navigateerror` because every navigation "aborts" the previous one. This occurred because the navigation required at least one microtask to be considered successful. (2) A successful cross-document navigation is cleared from the state, so it doesn't fire a `navigateerror` when returning to the page from BFCache. Both changes are spec-compliant, covered with WPT, and interoperable with Mozilla. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYZUL%2BAaoXfFKkSEQzw%3Dk8-xcS1AvXNu2TqvrKTmySmfVg%40mail.gmail.com.
