LGTM1. Extremely excited about this; congrats on the launch.

On Tuesday, June 23, 2026 at 1:26:11 PM UTC-7 Michal Mocny wrote:

> Contact emails
>
> [email protected], [email protected], [email protected]
>
> Explainer
>
> https://github.com/WICG/soft-navigations
>
> Specification
>
> https://wicg.github.io/soft-navigations
>
> Summary
>
> Adds "soft-navigation" and "interaction-contentful-paint" PerformanceEntry 
> types to the web performance timeline to track interaction-driven page 
> performance, including for "soft" navigations (JS-driven navigations in 
> Single Page Apps (SPAs)). This work expands on metrics like Largest 
> Contentful Paint (LCP) and Interaction to Next Paint (INP).
>
> The "interaction-contentful-paint" entry reports on new contentful paints 
> within parts of the page modified by a user interaction, helping developers 
> understand interaction loading latency. This proposal tracks the effects of 
> interactions across async tasks (like fetch requests).
>
> The "soft-navigation" entry reports same-document history state changes 
> initiated by interactions, establishing a new time origin to correctly 
> attribute subsequent performance data to the active route rather than the 
> initial document URL.
>
> Blink component
>
> Blink>PerformanceAPIs 
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPerformanceAPIs%22>
>
> Web Feature ID
>
> No information provided
>
> Motivation
>
> Web developers have been asking for a way to measure the loading 
> performance of "soft navigations" (JS-driven navigations in Single Page 
> Apps (SPA)), and to integrate such navigations into the web performance 
> timeline in general.
>
> Besides getting useful new performance insights for these, having a shared 
> standard definition for such navigations helps attribution for all existing 
> performance timeline data (i.e. resource timings), and provides better 
> default aggregation for metrics like INP or CLS with better URL attribution.
>
> Initial public proposal
>
> https://github.com/WICG/proposals/issues/71
>
> TAG review
>
> https://github.com/w3ctag/design-reviews/issues/879
>
> TAG review status
>
> Pending
>
> Origin Trial Name
>
> Soft Navigation Heuristics
>
> Goals for experimentation
>
> 1. Gaining insights on the quality of the heuristic and how it compares to 
> current heuristics employed, from web developers, spa-framework authors, 
> and by existing RUM providers; Focusing specifically on the initial 
> "soft-navigation" reporting and the "interaction-contentful-paint" loading 
> entries that follow.
>
> 2. Learning if developers find the correlation of various existing 
> performance entries (i.e. Resource Timings, CLS or INP entries) to these 
> soft navigation entries more useful than without them.
>
> Chromium Trial Name
>
> SoftNavigationHeuristics
>
> Link to origin trial feedback summary
>
> https://github.com/WICG/soft-navigations/issues/47
>
> Origin Trial documentation link
>
> https://github.com/WICG/soft-navigations#soft-navigations
>
> Risks
>
>
> Interoperability and Compatibility
>
> No information provided
>
> Gecko: No signal (
> https://github.com/mozilla/standards-positions/issues/854)
>
> WebKit: No signal (
> https://github.com/WebKit/standards-positions/issues/235)
>
> Web developers: Strongly positive
>
> https://issues.chromium.org/issues/40229587
>
> https://github.com/WICG/proposals/issues/71
>
> https://twitter.com/yoavweiss/status/1575191332775026688
>
> Other signals:
>
> 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 known. This feature is part of the standard performance timeline, 
> which is available in WebView in the same way as non-webview. The feature 
> is entirely implemented within blink + renderer.
>
>
> Debuggability
>
> No information provided
>
> Will this feature be supported on all six Blink platforms (Windows, Mac, 
> Linux, ChromeOS, 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>
> ?
>
> Yes
>
>
> Flag name on about://flags
>
> soft-navigation-heuristics
>
> Finch feature name
>
> SoftNavigationHeuristics
>
> Rollout plan
>
> Will ship enabled for all users
>
> Requires code in //chrome?
>
> False
>
> Tracking bug
>
> https://bugs.chromium.org/p/chromium/issues/detail?id=1338390
>
> Availability expectation
>
> Feature is available only in Chromium browsers for the foreseeable future. 
> This is relatively common for Performance APIs, where the requirement for 
> Baseline support is lower. A performance API can be feature detected and 
> used only on Chromium and still give developers great value.
>
> That said, there is existing Baseline support for the foundations of this 
> work: Event Timing, Paint Timing, and LCP-- and it seems there is 
> relatively positive support for the nascent AsyncContext and Container 
> Timing features which may make interop progress in the next year. Thus we 
> expect a future where this set of APIs also reaches interop/Baseline status.
>
> Adoption expectation
>
> At least 3 major abstractions replace their use of an existing feature 
> with this feature within 24 months of reaching mainline. Specifically, 
> several RUM measurement products and/or frameworks rely on custom 
> instrumentation, web platform api monkey-patching, and/or developer hints 
> in order to measure interactions and soft-navigations. These APIs have been 
> fairly widely deployed during origin trial by many partners/abstractions, 
> and we expect that these APIs are broadly adopted over the next few years.
>
> Adoption plan
>
> This feature has been in demand for years, and has been widely discussed 
> in relevant web performance groups (w3c web perf working group, rum 
> community group, slack, conferences, etc). Many organizations have already 
> participated in multiple rounds of OT. This feature is also expected to 
> power the next major update to the Core Web Vitals program, and has already 
> been integrated into an experimental branch of the web-vital.js library 
> which has wide industry adoption (making it an easier integration/upgrade).
>
> Non-OSS dependencies
>
> Does the feature depend on any code or APIs outside the Chromium open 
> source repository and its open-source dependencies to function?
>
> No.
>
> Estimated milestones
>
> Shipping on desktop
>
> 151
>
> Origin trial desktop first
>
> 139
>
> Origin trial desktop last
>
> 144
>
> Origin trial extension 1 end milestone
>
> 123
>
> Origin trial extension 2 end milestone
>
> 149
>
> Origin trial extension 3 end milestone
>
> 123
>
> Origin trial extension 4 end milestone
>
> 144
>
> Shipping on Android
>
> 151
>
> Origin trial Android first
>
> 139
>
> Origin trial Android last
>
> 144
>
> Shipping on WebView
>
> 151
>
> Origin trial WebView first
>
> 139
>
> Origin trial WebView last
>
> 144
>
>
> 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).
>
> The API shape has gone through multiple rounds of iteration and is 
> expected to be in its final form. There may be future API extensions added 
> to expose more features (i.e. to add more "container timing" details) but 
> the API was designed to gracefully support this.
>
> Note: the spec currently does not limit this API only the main frame top 
> level document, but the chromium implementation does.  We expect to change 
> the implementation to expose InteractionContentfulPaint also to frames, but 
> may change the spec to limit SoftNavigation entries (due to complexity of 
> history stack).
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5144837209194496?gate=4820517475844096
>
> Links to previous Intent discussions
>
> Intent to Prototype: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfV3qRFx0i-eGJFSzqE8bnbX8XYJCvXAj0LfvO0icPo_jA%40mail.gmail.com
>
> Intent to Experiment: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfUb_Gn_5gGy8SnChg5KH2JN57Gv0NhnHN7Q_kH0Aa17CQ%40mail.gmail.com
>
> Intent to Extend Experiment 1: 
> https://groups.google.com/a/chromium.org/g/blink-dev/c/xxrmKr-6X38/m/48Hri1cnAgAJ
>
> Intent to Extend Experiment 2: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69cd703e.050a0220.319665.006a.GAE%40google.com
>
> Intent to Extend Experiment 3: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfULP5d3fNCAqeO2gLP56R3HCytmaNk%2B9kpYsC2dj4%3DqoQ%40mail.gmail.com
>
> Intent to Extend Experiment 4: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEeF2TfyN4LMy2DQwjPrsTekEw8dNXgcqiogvznagjtWyfqixA%40mail.gmail.com
>
>
> 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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/94cd387b-78b6-4491-b9fc-f6bd5327cc9an%40chromium.org.

Reply via email to