Published: July 28, 2026
Chrome 151 is rolling out now, and this post shares some of the key features from the release. Read the full Chrome 151 release notes.
Highlights from this release:
- Capability element
<usermedia>provides a declarative, user-activated control for camera and microphone streams. - Declarative shadow DOM slot assignment lets web components use manual slot assignment without imperative JavaScript.
- Soft Navigations and interaction performance metrics track interaction-driven latency and route changes in single-page applications.
Capability element: <usermedia> MVP
The <usermedia> element is the latest to launch in the Capability Elements suite, following <geolocation>. This transition from the original <permission> proposal—part of the PEPC initiative—lets the browser handle the unique complexities and behaviors of different hardware capabilities more effectively. While the early proposal focused primarily on managing permission states, such as allow versus deny, Capability Elements function as data mediators.
The <geolocation> element provides a location object to your site, and <usermedia> manages the entire flow for camera and microphone access. It captures user intent, manages the browser prompt, and delivers the MediaStream object to the application. This shift eliminates the need for separate getUserMedia() calls, simplifies implementation, and ensures the browser has a trusted signal of the user's intent.
Find out more in Introducing the <usermedia> HTML element.
Declarative shadow DOM: shadowrootslotassignment attribute
Chrome 151 adds support for the shadowrootslotassignment attribute on <template> elements. This lets you build declarative shadow roots that use manual slot assignment directly in your HTML.
Until now, manual slot assignment was only available imperatively. With this update, you can specify shadowrootslotassignment="manual" on your shadow root template
The attribute accepts named (the default behavior) and manual, and is reflected by the shadowRootSlotAssignment property on HTMLTemplateElement. For more details, check out the HTMLTemplateElement.shadowRootSlotAssignment documentation on MDN.
This attribute is already available in Firefox and in the Safari 27 beta, so will soon be Baseline Newly available.
Soft Navigations and interaction performance metrics
Chrome 151 expands the web performance timeline by introducing two new PerformanceEntry types: soft-navigation and interaction-contentful-paint. These entries help developers track interaction-driven performance and latency in single-page applications (SPAs), building on established Core Web Vitals metrics like Largest Contentful Paint (LCP) and Interaction to Next Paint (INP).
In an SPA, JavaScript-driven route transitions don't trigger a traditional browser page load. The soft-navigation entry captures these same-document history state changes initiated by user interactions. When a soft navigation occurs, the browser establishes a new time origin, allowing you to accurately attribute subsequent performance data to the active SPA route rather than the initial document URL.
The interaction-contentful-paint entry measures new contentful paints within DOM regions modified by a user interaction. This provides visibility into interaction loading latency, even when content updates depend on asynchronous operations like fetch() requests.
You can observe these new entries in your application using a PerformanceObserver. The following code snippet that logs soft navigation entries to the console—including previous soft navigations on this page using the buffered option:
const observer = new PerformanceObserver(console.log);
observer.observe({ type: "soft-navigation", buffered: true });
To learn more about implementing and measuring SPA navigations, read the Soft navigations documentation on Chrome for Developers.
Further reading
This covers only some key highlights. Check the following links for additional changes in Chrome 151:
Subscribe
To stay up to date, subscribe to the Chrome Developers YouTube channel, and you'll get an email notification whenever we launch a new video. Or follow us on X or LinkedIn for new articles and blog posts.
As soon as Chrome 152 is released, we'll be right here to tell you what's new in Chrome!