Contact emails [email protected], [email protected]
Specification https://github.com/WICG/navigation-api/pull/235 Summary intercept() works very similarly to the already existing navigateEvent.transitionWhile(), except that instead of taking a mandatory Promise, it takes an optional handler function. If a function is provided and it returns a promise, navigation finish will be delayed until the Promise resolves, just as transitionWhile() delays navigation finish for its Promise. This address design problems with transitionWhile(), detailed in https://github.com/WICG/navigation-api/issues/230#issuecomment-1137891972 We will send a separate Intent to Deprecate and Remove for navigateEvent.transitionWhile(). Blink component Blink>History <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHistory> TAG review https://github.com/w3ctag/design-reviews/issues/717 TAG review status Issues open Risks Interoperability and Compatibility Most of the compatibility risk comes from the removal of transitionWhile(), and will be discussed in that separate Intent. For those migrating to intercept(), the main risk is that web developer "handling" logic will run at a subtly different time, but per the explainer that time will actually be less buggy in the usual case. Gecko: No signal. https://github.com/mozilla/standards-positions/issues/543 remains open as the positions request for the original API. WebKit: No signal. https://www.mail-archive.com/[email protected]/msg30257.html remains open as the positions request for the original API. Web developers: Positive. The problem this was solving was discovered by a web developer in https://github.com/WICG/navigation-api/issues/230, and has some engagement there. The bonus of no longer having to pass an empty promise also addresses some feedback we've heard in the past. Activation Any developer able to use navigateEvent.transitionWhile() should find intercept() a modestly more usable substitute. Security None different than transitionWhile() WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None, this should work identically on all platforms. Debuggability Debugging should be no different than debugging transitionWhile(). Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? The navigation-api/ directory makes extensive use of transitionWhile(), and we're updating it to use intercept() instead alongside implementation of intercept(). Requires code in //chrome? False Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=1336000 Estimated milestones M105 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5194055716700160 This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. -- 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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACf%3D2LL04%2B1%2B6Ap5%3D-SoocDJYA2M8BvYai1STObqt26tduHTuw%40mail.gmail.com.
