# Chrome 151 adds declarative camera controls and SPA performance entries

> Chrome 151 introduces the usermedia capability element, manual declarative shadow slots, and route-level performance signals for single-page apps.

Canonical URL: https://www.devobs.io/news/news-chrome-151-capability-elements-soft-navigation/
By: Owen Park
Published: 2026-09-06T11:58:54.649Z
Updated: 2026-09-06T11:58:54.649Z
Event date: 2026-07-28
Section: Web

Chrome 151 began rolling out on July 28 with a declarative `<usermedia>` capability element, manual slot assignment for declarative shadow roots, and new performance entries for single-page application navigations. The [release summary](https://developer.chrome.com/blog/new-in-chrome-151) positions the changes around browser-mediated permissions, server-renderable components, and route-level performance measurement.

## Camera and microphone intent becomes an element

The `<usermedia>` element handles a user-activated camera or microphone flow and delivers a `MediaStream` to the application. Chrome describes capability elements as data mediators rather than simple permission-state controls: the browser receives a trusted activation signal, presents its UI, and returns the requested capability.

Applications still need to explain why access is needed and handle denial, missing hardware, revoked permission, and track termination. The element should not turn a failed permission request into a dead end. Keep a clear retry path and show which device state the application actually received.

Chrome 151 also supports `shadowrootslotassignment="manual"` on declarative shadow-root templates. That lets server-rendered custom elements express manual slot behavior in HTML instead of waiting for imperative setup.

## SPA measurements get a route boundary

Two new `PerformanceEntry` types address same-document applications. `soft-navigation` records interaction-driven history transitions with a new time origin, while `interaction-contentful-paint` measures content painted in a region changed by an interaction. Together they can attribute work to an active route instead of leaving every metric attached to the initial document load.

Instrumentation should preserve existing measurements while the new entries are evaluated. Compare detected soft navigations with the router’s own events, including redirects, cancelled transitions, hash changes, and background updates that should not count. Sample payload sizes and avoid sending full URLs with sensitive parameters. The release makes route-aware observation possible in Chrome; a cross-browser analytics design still needs fallback signals and clear version coverage.

## Source references

- <https://developer.chrome.com/blog/new-in-chrome-151>
