Versión beta de Chrome 131

Fecha de publicación: 16 de octubre de 2024

A menos que se indique lo contrario, los siguientes cambios se aplican a la versión más reciente del canal beta de Chrome para Android, ChromeOS, Linux, macOS y Windows. Obtén más información sobre las funciones que se indican aquí a través de los vínculos proporcionados o en la lista de ChromeStatus.com. Chrome 131 es una versión beta a partir del 16 de octubre de 2024. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store para Android.

CSS

Esta versión agrega ocho funciones nuevas de CSS.

Posicionamiento de anclaje de CSS: anchor-scope

La propiedad anchor-scope permite limitar la visibilidad de los nombres de anclas a un subárbol determinado.

CSS font-variant-emoji

La propiedad CSS font-variant-emoji proporciona una forma de controlar entre glifos de emojis de colores (estilo emoji) y monocromáticos (estilo de texto). Esto también se puede hacer agregando un selector de variación de emoji, específicamente U+FE0E para el texto y U+FE0F para el emoji, después de cada código de punto de emoji.

Herencia de elementos destacados de CSS

Con la herencia de CSS Highlight, las seudoclases de ese elemento, como ::selection y ::highlight, heredan sus propiedades a través de la cadena de seudodestacado en vez de hacerlo a través de la cadena de elementos. El resultado es un modelo más intuitivo para la herencia de propiedades en elementos destacados.

Para obtener más información, lee la entrada de blog Inheritance changes for CSS selection styling, escrita por Stephen Chenney de Igalia.

Se realizaron mejoras en la estructura de diseño de los elementos <details> y <summary>.

Se admiten más diseños de CSS para la estructura de los elementos <details> y <summary> para permitir que se usen en más casos en los que se compilan widgets de divulgación o acordeón en la Web. En particular, este cambio quita las restricciones que impedían configurar la propiedad display en estos elementos y agrega un pseudoelemento ::details-content para aplicar diseño al contenedor de la parte que se expande y se contrae.

@page cuadros de margen

Agrega compatibilidad con cuadros de margen de página para imprimir documentos web o exportarlos como PDF.

Los cuadros de margen @page te permiten definir el contenido en el área de margen de una página, por ejemplo, para proporcionar encabezados y pies de página personalizados, en lugar de usar los encabezados y pies de página integrados que genera el navegador.

Un cuadro de margen se define con una regla at dentro de una regla @page de CSS. El aspecto y el contenido de un cuadro de margen se especifican con propiedades CSS dentro de la regla de at, incluida la propiedad content. También se admiten contadores para el paginado. La especificación define dos nombres de contadores especiales: page para el número de página actual y pages para la cantidad total de páginas.

@property admite la sintaxis <string>

Compatibilidad con el nombre del componente de sintaxis <string> para las propiedades personalizadas registradas

Compatibilidad con currentcolor en la sintaxis de color relativa

Permite que los colores relativos en CSS (con la palabra clave from) usen currentcolor como base. Esto te permite establecer colores complementarios, basados en el color de texto de un elemento, para los bordes, las sombras o los fondos de ese elemento.

Esta función también incluye casos de uso en los que las funciones de color se anidan con una dependencia en el color actual, por ejemplo, color-mix(in srgb, rgb(from currentcolor r g b), white)) o rgb(from rgb(from currentcolor 1 g b) b g r).

Compatibilidad con recursos SVG externos para propiedades clip-path, fill, stroke y marker-*

Esta función agrega compatibilidad con referencias externas para rutas de recorte, marcadores y servidores de pintura (para las propiedades "fill" y "stroke"). Por ejemplo, clip-path: url("resources.svg#myPath").

API web

API de Direct Sockets

Permite que las apps web aisladas establezcan comunicaciones de protocolo de control de transmisión directa (TCP) y protocolo de datagramas de usuario (UDP) con dispositivos y sistemas de red, además de escuchar y aceptar conexiones entrantes.

Exenta el encabezado Speculation-Rules de las restricciones de CSP

Actualiza la integración entre las reglas de especulación y el CSP para que el CSP solo se aplique a <script type=speculationrules> y no al encabezado Speculation-Rules. Las políticas de secuencias de comandos de CSP están diseñadas para proteger contra la inserción de secuencias de comandos en HTML, y el modelo de amenazas de CSP no se relaciona con los encabezados HTTP. Esto permite una implementación más fácil de las reglas de especulación desde las CDN y otros servidores perimetrales.

FedCM como indicador de confianza para la API de Storage Access

Concilia las APIs de FedCM y Storage Access haciendo que un FedCM anterior otorgue un motivo válido para aprobar automáticamente una solicitud de acceso al almacenamiento.

Cuando un usuario otorga permiso para usar su identidad con un proveedor de identidad (IdP) de terceros en un usuario de confianza (RP), muchos IdP requieren cookies de terceros para funcionar de forma correcta y segura. El objetivo de esta propuesta es satisfacer ese requisito de forma privada y segura actualizando las verificaciones de permisos de la API de Storage Access (SAA) para no solo aceptar la concesión de permisos que otorga un mensaje de acceso al almacenamiento, sino también la concesión de permisos que otorga un mensaje de FedCM.

Una propiedad clave de este mecanismo es limitar el otorgamiento a los casos permitidos explícitamente por la RP con la política de permisos de FedCM, aplicar un control por fotograma para la RP y evitar la vigilancia pasiva por parte del IdP más allá de las capacidades que ya otorga FedCM.

Valor de COOP noopener-allow-popups

Algunos orígenes pueden contener diferentes aplicaciones con diferentes niveles de requisitos de seguridad. En esos casos, puede ser beneficioso evitar que las secuencias de comandos que se ejecutan en una aplicación puedan abrir y escribir páginas de otra aplicación del mismo origen.

En esos casos, puede ser beneficioso para un documento asegurarse de que el elemento que lo abre no pueda escribirlo, incluso si el documento del elemento que lo abre es del mismo origen. El valor de noopener-allow-popups Cross-Origin-Opener-Policy permite que los documentos definan ese comportamiento.

API de Private Aggregation: Se aumentó el límite de contribuciones a 100 para los llamadores de Protected Audience

Permite que los ejecutores de secuencias de comandos de Protected Audience realicen hasta 100 contribuciones por informe de agregación privada, en comparación con el límite actual de 20.

La agregación privada limita la cantidad de contribuciones de histograma que se pueden incorporar en un solo informe agregable y descarta las contribuciones adicionales. Los llamadores de almacenamiento compartido pueden evitar el límite invocando otra operación de almacenamiento compartido. Sin embargo, los llamadores de Protected Audience no tienen almacenamiento persistente, por lo que pierden sus contribuciones excedentes al final de la subasta. Ten en cuenta que este cambio es neutral en cuanto a la privacidad, ya que las contribuciones de la API aún están limitadas por el mismo presupuesto de privacidad.

Debido al padding, cada informe de Protected Audience tendrá una carga útil más grande, incluso si no necesitara el límite de contribución más grande. Esperamos que estos informes más grandes aumenten el costo de operar el servicio de agregación.

Seleccionar la disminución de la rigurosidad del analizador

Este cambio hace que el analizador de HTML permita etiquetas adicionales en <select> además de <option>, <optgroup> y <hr>.

Este cambio es compatible con la función <select> personalizable, pero se envía primero porque se puede hacer por separado y tiene cierto riesgo de compatibilidad sobre el que el equipo de Chrome desea recibir comentarios.

WebGPU: Distancias de recorte

Se agregó la función opcional de GPU clip-distances que permite establecer distancias de recorte definidas por el usuario en las salidas del sombreador de vértices. Esta técnica es particularmente útil para las aplicaciones que necesitan recortar todos los vértices de una escena que están más allá de un plano definido por el usuario, como muchas aplicaciones de CAD.

WebGPU: getConfiguration() de GPUCanvasContext

Una vez que se haya llamado a GPUCanvasContext configure() con un diccionario de configuración, puedes usar el método GPUCanvasContext getConfiguration() para verificar la configuración del contexto del lienzo. Incluye los miembros device, format, usage, viewFormats, colorSpace, toneMapping y alphaMode de la GPU. Como se explica en el problema 4828, las apps web pueden usarlo para detectar si el lienzo HDR es compatible con WebGPU.

WebHID en trabajadores dedicados

Habilita WebHID dentro de contextos de trabajadores dedicados. Esto te permite realizar operaciones de E/S intensas y procesar datos de un dispositivo HID en un subproceso separado, lo que ayuda a reducir el impacto en el rendimiento en el subproceso principal.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Una API que configura los codificadores de WebRTC para escalar fotogramas de entrada si son mayores que los maxWidth y maxHeight especificados. Esta API es similar a scaleResolutionDownBy, excepto que las restricciones de resolución se expresan en términos absolutos (por ejemplo, 640 x 360) en lugar de términos relativos (por ejemplo, reducir la escala en 2), lo que evita las condiciones de carrera relacionadas con el cambio del tamaño del fotograma de entrada sobre la marcha.

Nuevas pruebas de origen

En Chrome 131, puedes habilitar las siguientes pruebas de origen nuevas.

Estadísticas de reproducción de WebAudio

La función AudioContext.playoutStats permite que una aplicación mida la calidad y la latencia de la reproducción de audio con WebAudio.

API de Resumer

Una API de JavaScript para producir resúmenes de texto de entrada, respaldados por un modelo de lenguaje de IA.

Bajas y eliminaciones

Esta versión de Chrome presenta las siguientes bajas y eliminaciones. Visita ChromeStatus.com para ver las listas de bajas planificadas, bajas actuales y eliminaciones anteriores.

Esta versión de Chrome quita tres funciones.

Quita la propiedad de posicionamiento de anclaje de CSS inset-area

Con la resolución del grupo de trabajo de CSS de cambiar el nombre de la propiedad inset-area a position-area, esta eliminación limpia la implementación en Chromium para obtener una función que cumpla con los estándares.

Se quitó la capacidad de inhabilitar BeforeunloadEventCancelByPreventDefault.

La función BeforeunloadEventCancelByPreventDefault se envió en Chrome 117, pero hay una política empresarial que permite inhabilitar esta marca de manera forzosa. La política empresarial se quitará en Chrome 131.

Se quitó el método requestAdapterInfo() de GPUAdapter no estándar.

El grupo de trabajo de WebGPU decidió que no era práctico que requestAdapterInfo() activara un mensaje de permiso, por lo que quitaron esa opción y la reemplazaron con el atributo info de GPUAdapter para que los desarrolladores web puedan obtener el mismo valor de GPUAdapterInfo de forma síncrona.