Awesome, thanks Michal!

On Wed, Jun 24, 2026 at 1:29 PM Michal Mocny <[email protected]> wrote:

> Thanks all!
>
> Rick: I will update the WPT links, but FYI: there are currently 120 tests
> <https://wpt.fyi/results/soft-navigation-heuristics> which cover from the
> basics of the api, to a relatively thorough list of mechanisms for task
> scheduling, supported dom modifications, different element paint types,
> different history navigation mechanisms, and permutations of the above.
>
> That said, the feature has evolved over time, and has effectively split
> into two distinct APIs that work well together.  We expect to do more to
> split and decouple, as well as organize the mess of tests.
>

> -Michal
>
> On Wed, Jun 24, 2026 at 11:29 AM Rick Byers <[email protected]> wrote:
>
>> LGTM3
>>
>> Can you please include the link to the WPTs in the Chromestatus field? I
>> know there's a ton of complexity here, to what extent do you believe the
>> test suite in it's current state is sufficient to enable compatible
>> implementations? Non-blocking, but I do think it's important that we have a
>> high quality test suite here.
>>
>> On Wed, Jun 24, 2026 at 11:25 AM Vladimir Levin <[email protected]>
>> wrote:
>>
>>> LGTM2
>>>
>>> On Wednesday, June 24, 2026 at 11:24:29 AM UTC-4 Alex Russell wrote:
>>>
>>>> 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/61471840-0ece-4ede-bfea-a57977511c0fn%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/61471840-0ece-4ede-bfea-a57977511c0fn%40chromium.org?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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/CAFUtAY-iXi-SziakNMHPOOB%3D7CtwUKHmEHzYWJ5OWfofcVG6Gg%40mail.gmail.com.

Reply via email to