 Container queries and has are a match made in responsive heaven. The new Sanitizer API provides a robust processor for arbitrary strings to help reduce cross-site scripting vulnerabilities. Web SQL moves a little closer to deprecation and there's plenty more. I'm Pete LePage. Let's dive in and see what's new for developers in Chrome 105. Container queries, one of the most highly requested features are landing in Chrome 105. They enable you to query a parent selector for its size and styling information, making it possible for a child element to own its responsive styling logic, no matter where it lives on a page. They're similar to media queries except they evaluate against the size of a container instead of against the size of the viewport. To use container queries, you need to set a containment on a parent element. For example, you might have a card with an image and some text. To create a container query, set container type on the card container. Setting container type to inline size queries the inline direction size of the parent. Now, we can use that container to apply styles to any of its children using at container. In this case, when the container is less than 400 pixels, it switches to a single column layout. We can take this a step further with the CSS has pseudo class. It allows you to check if a parent element contains children with a specific parameter. For example, P has span indicates a paragraph selector with a span inside of it. You can use this to style the parent paragraph itself or anything within it. Or you can use figure has fig caption to style a figure element that contains a caption. Check out Unis article on developer.chrome.com for some great examples and ways that you can use this in your own code. Most web apps frequently deal with untrusted strings, but safely rendering that content can be tricky. Without sufficient care, it's easy to accidentally create opportunities for cross-site scripting vulnerabilities. There are libraries like DOM purify that help, but they add a small maintenance burden. The HTML sanitizer API helps to reduce the number of cross-site scripting vulnerabilities by sanitizing and putting that sanitization into the platform. To use it, create a new instance of the sanitizer API. Then call setHTML on the element that we want to insert the sanitize content into. The sanitizer API is designed to be safe by default and allows you to specify different config options. For example, dropping certain elements or allowing others. Check out safe DOM manipulation with the sanitizer API on web.dev for more details. Some time ago, we announced our plans to deprecate web SQL. Starting in Chrome 105, web SQL will be deprecated for non-secure contexts. This deprecation will not affect any site that uses web SQL via HTTPS, but may affect internet sites or enterprise scenarios that don't use HTTPS. If you're using web SQL in non-secure contexts, you should migrate to IndexedDB or another local storage container as soon as possible. For more information about this deprecation and the planned deprecation of web SQL, see our post on developer.chrome.com. Of course, there's plenty more. You can now update the name of an installed PWA on both desktop and mobile by updating the web app manifest. The multi-screen window placement API gets accurate screen name labels. And the window controls overlay API is now available. It lets PWAs provide a more app like feel by swapping the existing full width title bar for a small overlay. This allows you to place custom content in the title bar area. All the details including links, docs, and specs are in the post linked in the description. Hit that subscribe button now so that you don't miss any of the latest Chrome DevTools videos, GUI challenges, HTTP203, and more. I'm Pete LaPage, and as soon as Chrome 106 is released, we'll be right here to tell you what's new in Chrome.